1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-02 18:45:34 +00:00
openmw/components/contentselector/view/contentselector.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

93 lines
2.4 KiB
C++
Raw Normal View History

#ifndef CONTENTSELECTOR_HPP
#define CONTENTSELECTOR_HPP
#include <memory>
#include <QComboBox>
2013-08-20 17:34:39 +00:00
#include <QDialog>
#include <QMenu>
#include <QToolButton>
#include <components/contentselector/model/contentmodel.hpp>
class QSortFilterProxyModel;
namespace Ui
{
class ContentSelector;
}
namespace ContentSelectorView
{
class ContentSelector : public QObject
{
Q_OBJECT
QMenu* mContextMenu;
protected:
ContentSelectorModel::ContentModel* mContentModel;
QSortFilterProxyModel* mAddonProxyModel;
public:
explicit ContentSelector(QWidget* parent = nullptr, bool showOMWScripts = false);
~ContentSelector() override;
QString currentFile() const;
void addFiles(const QString& path, bool newfiles = false);
void sortFiles();
bool containsDataFiles(const QString& path);
void clearFiles();
void setProfileContent(const QStringList& fileList);
void clearCheckStates();
void setEncoding(const QString& encoding);
void setContentList(const QStringList& list);
ContentSelectorModel::ContentFileList selectedFiles() const;
void setGameFile(const QString& filename = QString(""));
bool isGamefileSelected() const;
2013-09-18 07:36:23 +00:00
QWidget* uiWidget() const;
QComboBox* languageBox() const;
2023-01-06 19:01:50 +00:00
QToolButton* refreshButton() const;
QLineEdit* searchFilter() const;
2022-09-22 18:26:05 +00:00
private:
std::unique_ptr<Ui::ContentSelector> ui;
void buildContentModel(bool showOMWScripts);
void buildGameFileView();
void buildAddonView();
void buildContextMenu();
void setGameFileSelected(int index, bool selected);
void setCheckStateForMultiSelectedItems(bool checked);
signals:
void signalCurrentGamefileIndexChanged(int);
void signalAddonDataChanged(const QModelIndex& topleft, const QModelIndex& bottomright);
void signalSelectedFilesChanged(QStringList selectedFiles);
private slots:
void slotCurrentGameFileIndexChanged(int index);
void slotAddonTableItemActivated(const QModelIndex& index);
void slotShowContextMenu(const QPoint& pos);
void slotCheckMultiSelectedItems();
void slotUncheckMultiSelectedItems();
void slotCopySelectedItemsPaths();
void slotSearchFilterTextChanged(const QString& newText);
2024-01-08 16:08:05 +00:00
void slotRowsMoved();
};
}
#endif // CONTENTSELECTOR_HPP