Copy buttonbar from DVItemView to separate class
This commit is contained in:
parent
704028c105
commit
7c80cef474
2 changed files with 133 additions and 2 deletions
|
@ -109,6 +109,118 @@ inline bool isMultipleFrameType(std::string type) {
|
|||
type == "webm");
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// SceneBrowserButtonBar
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
SceneBrowserButtonBar::SceneBrowserButtonBar(DvItemViewer *itemViewer,
|
||||
QWidget *parent)
|
||||
: QToolBar(parent) {
|
||||
setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||
setIconSize(QSize(17, 17));
|
||||
setObjectName("buttonBar");
|
||||
// buttonBar->setIconSize(QSize(10,10));
|
||||
|
||||
QString backButtonEnable = QString(":Resources/fb_history_back_enable.svg");
|
||||
QString backButtonDisable = QString(":Resources/fb_history_back_disable.svg");
|
||||
QString fwdButtonEnable = QString(":Resources/fb_history_fwd_enable.svg");
|
||||
QString fwdButtonDisable = QString(":Resources/fb_history_fwd_disable.svg");
|
||||
|
||||
QIcon backButtonIcon, fwdButtonIcon;
|
||||
backButtonIcon.addFile(backButtonEnable, QSize(), QIcon::Normal);
|
||||
backButtonIcon.addFile(backButtonDisable, QSize(), QIcon::Disabled);
|
||||
fwdButtonIcon.addFile(fwdButtonEnable, QSize(), QIcon::Normal);
|
||||
fwdButtonIcon.addFile(fwdButtonDisable, QSize(), QIcon::Disabled);
|
||||
|
||||
m_folderBack = new QAction(backButtonIcon, tr("Back"), this);
|
||||
m_folderBack->setIconText("");
|
||||
addAction(m_folderBack);
|
||||
m_folderFwd = new QAction(fwdButtonIcon, tr("Forward"), this);
|
||||
m_folderFwd->setIconText("");
|
||||
addAction(m_folderFwd);
|
||||
|
||||
QIcon folderUpIcon = createQIcon("folderup");
|
||||
QAction *folderUp = new QAction(folderUpIcon, tr("Up One Level"), this);
|
||||
folderUp->setIconText(tr("Up"));
|
||||
addAction(folderUp);
|
||||
addSeparator();
|
||||
|
||||
QIcon newFolderIcon = createQIcon("newfolder");
|
||||
QAction *newFolder = new QAction(newFolderIcon, tr("New Folder"), this);
|
||||
newFolder->setIconText(tr("New"));
|
||||
addAction(newFolder);
|
||||
addSeparator();
|
||||
|
||||
// QIcon tableViewIcon = createQIconOnOffPNG("viewtable");
|
||||
// QAction* tableView = new QAction(tableViewIcon, tr("Table View"), this);
|
||||
// tableView->setCheckable(true);
|
||||
// actions->addAction(tableView);
|
||||
// addAction(tableView);
|
||||
addSeparator();
|
||||
|
||||
// button to export file list to csv
|
||||
QAction *exportFileListAction = new QAction(tr("Export File List"), this);
|
||||
addAction(exportFileListAction);
|
||||
addSeparator();
|
||||
|
||||
if (itemViewer->m_windowType == DvItemViewer::Browser &&
|
||||
!Preferences::instance()->isWatchFileSystemEnabled()) {
|
||||
addAction(CommandManager::instance()->getAction("MI_RefreshTree"));
|
||||
addSeparator();
|
||||
}
|
||||
|
||||
connect(exportFileListAction, SIGNAL(triggered()), itemViewer->getPanel(),
|
||||
SLOT(exportFileList()));
|
||||
|
||||
connect(folderUp, SIGNAL(triggered()), SIGNAL(folderUp()));
|
||||
connect(newFolder, SIGNAL(triggered()), SIGNAL(newFolder()));
|
||||
// connect(listView , SIGNAL(triggered()), itemViewer->getPanel(),
|
||||
// SLOT(setListView()));
|
||||
// connect(tableView , SIGNAL(triggered()), itemViewer->getPanel(),
|
||||
// SLOT(setTableView()));
|
||||
|
||||
connect(m_folderBack, SIGNAL(triggered()), SIGNAL(folderBack()));
|
||||
connect(m_folderFwd, SIGNAL(triggered()), SIGNAL(folderFwd()));
|
||||
|
||||
if (itemViewer->m_windowType == DvItemViewer::Browser) {
|
||||
connect(TApp::instance()->getCurrentScene(),
|
||||
SIGNAL(preferenceChanged(const QString &)), this,
|
||||
SLOT(onPreferenceChanged(const QString &)));
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void SceneBrowserButtonBar::onHistoryChanged(bool backEnable, bool fwdEnable) {
|
||||
if (backEnable)
|
||||
m_folderBack->setEnabled(true);
|
||||
else
|
||||
m_folderBack->setEnabled(false);
|
||||
|
||||
if (fwdEnable)
|
||||
m_folderFwd->setEnabled(true);
|
||||
else
|
||||
m_folderFwd->setEnabled(false);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void SceneBrowserButtonBar::onPreferenceChanged(const QString &prefName) {
|
||||
// react only when the related preference is changed
|
||||
if (prefName != "WatchFileSystem") return;
|
||||
|
||||
QAction *refreshAct = CommandManager::instance()->getAction("MI_RefreshTree");
|
||||
if (Preferences::instance()->isWatchFileSystemEnabled()) {
|
||||
removeAction(refreshAct);
|
||||
removeAction(actions().last()); // remove separator
|
||||
} else {
|
||||
addAction(refreshAct);
|
||||
addSeparator();
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// SceneBrowser
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -133,8 +245,8 @@ SceneBrowser::SceneBrowser(QWidget *parent, Qt::WFlags flags, bool noContextMenu
|
|||
m_itemViewer = new DvItemViewer(box, noContextMenu, multiSelectionEnabled,
|
||||
DvItemViewer::Browser);
|
||||
DvItemViewerTitleBar *titleBar = new DvItemViewerTitleBar(m_itemViewer, box);
|
||||
DvItemViewerButtonBar *buttonBar =
|
||||
new DvItemViewerButtonBar(m_itemViewer, box);
|
||||
SceneBrowserButtonBar *buttonBar =
|
||||
new SceneBrowserButtonBar(m_itemViewer, box);
|
||||
DvItemViewerPanel *viewerPanel = m_itemViewer->getPanel();
|
||||
viewerPanel->setThumbnailsView();
|
||||
viewerPanel->addColumn(DvItemListModel::FileType, 50);
|
||||
|
|
|
@ -25,6 +25,25 @@ class DvDirModelNode;
|
|||
class DvDirTreeView;
|
||||
class QFileSystemWatcher;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class SceneBrowserButtonBar final : public QToolBar {
|
||||
Q_OBJECT
|
||||
QAction *m_folderBack;
|
||||
QAction *m_folderFwd;
|
||||
|
||||
public:
|
||||
SceneBrowserButtonBar(DvItemViewer *itemViewer, QWidget *parent = 0);
|
||||
|
||||
public slots:
|
||||
void onHistoryChanged(bool, bool);
|
||||
void onPreferenceChanged(const QString &);
|
||||
|
||||
signals:
|
||||
void folderUp();
|
||||
void newFolder();
|
||||
void folderBack();
|
||||
void folderFwd();
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class SceneBrowser final : public QFrame, public DvItemListModel {
|
||||
|
|
Loading…
Reference in a new issue