diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-04-19 04:19:29 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-04-19 16:14:32 +0200 |
commit | c7c81463fd3ab01c9e096f75e7e8ad8b50902a98 (patch) | |
tree | ab19d0316cd293bcc05bc6b1b6e937c858814b90 /application/dialogs/ExportInstanceDialog.h | |
parent | 6cfac115b1f18b9ff5130b2b9a6d5e2fcf052e6c (diff) | |
download | MultiMC-c7c81463fd3ab01c9e096f75e7e8ad8b50902a98.tar MultiMC-c7c81463fd3ab01c9e096f75e7e8ad8b50902a98.tar.gz MultiMC-c7c81463fd3ab01c9e096f75e7e8ad8b50902a98.tar.lz MultiMC-c7c81463fd3ab01c9e096f75e7e8ad8b50902a98.tar.xz MultiMC-c7c81463fd3ab01c9e096f75e7e8ad8b50902a98.zip |
GH-885 export dialog for filtering exported files
Includes implementation of a separator based prefix tree and some related bits
Diffstat (limited to 'application/dialogs/ExportInstanceDialog.h')
-rw-r--r-- | application/dialogs/ExportInstanceDialog.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/application/dialogs/ExportInstanceDialog.h b/application/dialogs/ExportInstanceDialog.h new file mode 100644 index 00000000..021927a3 --- /dev/null +++ b/application/dialogs/ExportInstanceDialog.h @@ -0,0 +1,54 @@ +/* Copyright 2013-2015 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include <QDialog> +#include <QModelIndex> +#include <memory> + +class BaseInstance; +class PackIgnoreProxy; +typedef std::shared_ptr<BaseInstance> InstancePtr; + +namespace Ui +{ +class ExportInstanceDialog; +} + +class ExportInstanceDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ExportInstanceDialog(InstancePtr instance, QWidget *parent = 0); + ~ExportInstanceDialog(); + + virtual void done(int result); + +private: + bool doExport(); + void loadPackIgnore(); + void savePackIgnore(); + QString ignoreFileName(); + +private: + Ui::ExportInstanceDialog *ui; + InstancePtr m_instance; + PackIgnoreProxy * proxyModel; + +private slots: + void rowsInserted(QModelIndex parent, int top, int bottom); +}; |