The settings / cache directory can be opened from UI [..]

This commit is contained in:
Klaus Basan
2018-01-19 05:25:05 +01:00
parent d0141692a2
commit add47dfccd
3 changed files with 100 additions and 12 deletions

View File

@@ -22,6 +22,8 @@
#include <QDirIterator>
#include <QFileInfoList>
#include <QFileSystemModel>
#include <QDir>
#include <QDesktopServices>
using namespace BlackMisc;
using namespace BlackMisc::Simulation;
@@ -55,6 +57,8 @@ namespace BlackGui
connect(ui->pb_ClearSelection, &QPushButton::clicked, ui->tv_Source, &QTreeView::clearSelection);
connect(ui->pb_CopyOver, &QPushButton::clicked, this, &CCopyConfigurationComponent::copySelectedFiles);
connect(ui->cb_ShowAll, &QCheckBox::released, this, &CCopyConfigurationComponent::changeNameFilterDisables);
connect(ui->tb_OpenOtherVersionsDir, &QToolButton::clicked, this, &CCopyConfigurationComponent::openOtherVersionsSelectedDirectory);
connect(ui->tb_OpenThisVersionDir, &QToolButton::clicked, this, &CCopyConfigurationComponent::openOtherVersionsSelectedDirectory);
// create default caches with timestamps on disk
// possible for small caches, but not the large model sets (too slow)
@@ -334,6 +338,19 @@ namespace BlackGui
return dir;
}
void CCopyConfigurationComponent::openOtherVersionsSelectedDirectory()
{
const QObject *s = sender();
const QString d = (s == ui->tb_OpenOtherVersionsDir) ?
this->getOtherVersionsSelectedDirectory() :
this->getThisVersionDirectory();
if (d.isEmpty()) { return; }
QDir dir(d);
if (!dir.exists()) { return; }
const QUrl url = QUrl::fromLocalFile(dir.path());
QDesktopServices::openUrl(url);
}
QStringList CCopyConfigurationComponent::getSelectedFiles() const
{
const QModelIndexList indexes = ui->tv_Source->selectionModel()->selectedIndexes();

View File

@@ -98,6 +98,9 @@ namespace BlackGui
//! Get the selected directory
QString getOtherVersionsSelectedDirectory() const;
//! Other the directory of that other version
void openOtherVersionsSelectedDirectory();
//! Get the selected files
QStringList getSelectedFiles() const;

View File

@@ -13,13 +13,22 @@
<property name="windowTitle">
<string>Frame</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Plain</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="fl_Destination_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QWidget" name="wi_Mode" native="true">
<layout class="QHBoxLayout" name="hl_RadioButtons">
@@ -127,10 +136,44 @@
<number>4</number>
</property>
<item>
<widget class="QComboBox" name="cb_OtherVersions">
<property name="frame">
<bool>false</bool>
<widget class="QFrame" name="ft_OtherVersions">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="hl_OtherVersions">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QComboBox" name="cb_OtherVersions">
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="tb_OpenOtherVersionsDir">
<property name="toolTip">
<string>open this directory</string>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
@@ -171,10 +214,35 @@
<number>4</number>
</property>
<item>
<widget class="QLineEdit" name="le_CurrentVersion">
<property name="readOnly">
<bool>true</bool>
</property>
<widget class="QFrame" name="fr_Destination">
<layout class="QHBoxLayout" name="fl_Destination">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="le_CurrentVersion">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="tb_OpenThisVersionDir">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>