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");
|
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
|
// SceneBrowser
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -133,8 +245,8 @@ SceneBrowser::SceneBrowser(QWidget *parent, Qt::WFlags flags, bool noContextMenu
|
||||||
m_itemViewer = new DvItemViewer(box, noContextMenu, multiSelectionEnabled,
|
m_itemViewer = new DvItemViewer(box, noContextMenu, multiSelectionEnabled,
|
||||||
DvItemViewer::Browser);
|
DvItemViewer::Browser);
|
||||||
DvItemViewerTitleBar *titleBar = new DvItemViewerTitleBar(m_itemViewer, box);
|
DvItemViewerTitleBar *titleBar = new DvItemViewerTitleBar(m_itemViewer, box);
|
||||||
DvItemViewerButtonBar *buttonBar =
|
SceneBrowserButtonBar *buttonBar =
|
||||||
new DvItemViewerButtonBar(m_itemViewer, box);
|
new SceneBrowserButtonBar(m_itemViewer, box);
|
||||||
DvItemViewerPanel *viewerPanel = m_itemViewer->getPanel();
|
DvItemViewerPanel *viewerPanel = m_itemViewer->getPanel();
|
||||||
viewerPanel->setThumbnailsView();
|
viewerPanel->setThumbnailsView();
|
||||||
viewerPanel->addColumn(DvItemListModel::FileType, 50);
|
viewerPanel->addColumn(DvItemListModel::FileType, 50);
|
||||||
|
|
|
@ -25,6 +25,25 @@ class DvDirModelNode;
|
||||||
class DvDirTreeView;
|
class DvDirTreeView;
|
||||||
class QFileSystemWatcher;
|
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 {
|
class SceneBrowser final : public QFrame, public DvItemListModel {
|
||||||
|
|
Loading…
Reference in a new issue