aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/models/profile_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/models/profile_model.h')
-rw-r--r--ui/qt/models/profile_model.h46
1 files changed, 33 insertions, 13 deletions
diff --git a/ui/qt/models/profile_model.h b/ui/qt/models/profile_model.h
index 620f82fedf..a49a54c8b3 100644
--- a/ui/qt/models/profile_model.h
+++ b/ui/qt/models/profile_model.h
@@ -30,13 +30,15 @@ public:
enum FilterType {
AllProfiles = 0,
- GlobalProfiles,
- PersonalProfiles
+ PersonalProfiles,
+ GlobalProfiles
};
void setFilterType(FilterType ft);
void setFilterString(QString txt = QString());
+ static QStringList filterTypes();
+
protected:
virtual bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const;
virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
@@ -44,7 +46,6 @@ protected:
private:
FilterType ft_;
QString ftext_;
-
};
class ProfileModel : public QAbstractTableModel
@@ -66,7 +67,8 @@ public:
DATA_IS_GLOBAL,
DATA_IS_SELECTED,
DATA_PATH,
- DATA_PATH_IS_NOT_DESCRIPTION
+ DATA_PATH_IS_NOT_DESCRIPTION,
+ DATA_INDEX_VALUE_IS_URL
} data_values_;
// QAbstractItemModel interface
@@ -78,12 +80,13 @@ public:
virtual Qt::ItemFlags flags(const QModelIndex &index) const;
void deleteEntry(QModelIndex idx);
+ void deleteEntries(QModelIndexList idcs);
int findByName(QString name);
QModelIndex addNewProfile(QString name);
- QModelIndex duplicateEntry(QModelIndex idx);
+ QModelIndex duplicateEntry(QModelIndex idx, int new_status = PROF_STAT_COPY);
- void doResetModel();
+ void doResetModel(bool reset_import = false);
bool resetDefault() const;
QModelIndex activeProfile() const;
@@ -91,29 +94,39 @@ public:
GList * at(int row) const;
bool changesPending() const;
+ bool importPending() const;
+
+ bool userProfilesExist() const;
#ifdef HAVE_MINIZIP
- QStringList exportFileList(QModelIndexList items);
bool exportProfiles(QString filename, QModelIndexList items, QString * err = Q_NULLPTR);
- int importProfilesFromZip(QString filename, int *skippedCnt = Q_NULLPTR);
+ int importProfilesFromZip(QString filename, int *skippedCnt = Q_NULLPTR, QStringList *result = Q_NULLPTR);
#endif
- int importProfilesFromDir(QString filename, int *skippedCnt = Q_NULLPTR, bool fromZip = false);
- bool copyTempToProfile(QString tempPath, QString profilePath);
- QFileInfoList filterProfilePath(QString, QFileInfoList ent, bool fromZip);
+ int importProfilesFromDir(QString filename, int *skippedCnt = Q_NULLPTR, bool fromZip = false, QStringList *result = Q_NULLPTR);
static bool checkNameValidity(QString name, QString *msg = Q_NULLPTR);
- QList<int> findAllByNameAndVisibility(QString name, bool isGlobal = false);
+ QList<int> findAllByNameAndVisibility(QString name, bool isGlobal = false, bool searchReference = false);
+ void markAsImported(QStringList importedItems);
+ bool clearImported(QString *msg = Q_NULLPTR);
+
+ int lastSetRow() const;
+
+Q_SIGNALS:
+ void itemChanged(const QModelIndex &idx);
private:
QList<profile_def *> profiles_;
QString set_profile_;
bool reset_default_;
+ bool profiles_imported_;
+
+ int last_set_row_;
void loadProfiles();
profile_def * guard(int row) const;
GList * entry(profile_def *) const;
- int findByNameAndVisibility(QString name, bool isGlobal = false);
+ int findByNameAndVisibility(QString name, bool isGlobal = false, bool searchReference = false);
#ifdef HAVE_MINIZIP
static bool acceptFile(QString fileName, int fileSize);
@@ -125,6 +138,13 @@ private:
QVariant dataToolTipRole(const QModelIndex & idx) const;
QVariant dataPath(const QModelIndex & idx) const;
+#ifdef HAVE_MINIZIP
+ QStringList exportFileList(QModelIndexList items);
+#endif
+ bool copyTempToProfile(QString tempPath, QString profilePath);
+ QFileInfoList filterProfilePath(QString, QFileInfoList ent, bool fromZip);
+ QFileInfoList uniquePaths(QFileInfoList lst);
+
};
#endif