This commit is contained in:
DavidXanatos 2022-07-29 10:24:32 +02:00
parent 46082d8a71
commit d9c68e1585
14 changed files with 318 additions and 258 deletions

View File

@ -6,6 +6,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [1.2.7 / 5.57.7] - 2022-07-??
### Added
- addes option to alternate row color in all lists [#2073](https://github.com/sandboxie-plus/Sandboxie/issues/2073)
### Changed
- SandboxieLogon is now disabled by default as it was not compatible with 3rd party antimalware tools [#2025](https://github.com/sandboxie-plus/Sandboxie/issues/2025)
- the access view list now adds in display the tailing * to file and key paths the same way the driver does [2039](https://github.com/sandboxie-plus/Sandboxie/issues/2039)

View File

@ -156,7 +156,7 @@ public:
{
m_pModel = pModel;
m_pSortProxy = new CSortFilterProxyModel(false, this);
m_pSortProxy = new CSortFilterProxyModel(this);
m_pSortProxy->setSortRole(Qt::EditRole);
m_pSortProxy->setSourceModel(m_pModel);
m_pSortProxy->setDynamicSortFilter(true);

View File

@ -10,9 +10,8 @@ class MISCHELPERS_EXPORT CSortFilterProxyModel: public QSortFilterProxyModel
Q_OBJECT
public:
CSortFilterProxyModel(bool bAlternate, QObject* parrent = 0) : QSortFilterProxyModel(parrent)
CSortFilterProxyModel(QObject* parrent = 0) : QSortFilterProxyModel(parrent)
{
m_bAlternate = bAlternate;
m_bHighLight = false;
m_iColumn = 0;
m_pView = NULL;
@ -67,16 +66,16 @@ public:
//return QColor(Qt::white);
}
if (role == Qt::BackgroundRole)
{
if (m_bAlternate && !Data.isValid())
{
if (0 == index.row() % 2)
return QColor(226, 237, 253);
else
return QColor(Qt::white);
}
}
//if (role == Qt::BackgroundRole)
//{
// if (m_bAlternate && !Data.isValid())
// {
// if (0 == index.row() % 2)
// return QColor(226, 237, 253);
// else
// return QColor(Qt::white);
// }
//}
return Data;
}
@ -117,7 +116,6 @@ public slots:
}
protected:
bool m_bAlternate;
bool m_bHighLight;
int m_iColumn;
QTreeView* m_pView;

View File

@ -54,13 +54,6 @@
<layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_8">
<item row="8" column="1" colspan="2">
<widget class="QCheckBox" name="chkMonitorSize">
<property name="text">
<string>Count and display the disk space occupied by each sandbox</string>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="QCheckBox" name="chkSandboxUrls">
<property name="text">
@ -71,34 +64,7 @@
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QCheckBox" name="chkNotifications">
<property name="text">
<string>Show Notifications for relevant log Messages</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="9" column="1" colspan="2">
<widget class="QCheckBox" name="chkWatchConfig">
<property name="text">
<string>Watch Sandboxie.ini for changes</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="uiLang"/>
</item>
<item row="5" column="1" colspan="2">
<widget class="QCheckBox" name="chkNotifyRecovery">
<property name="text">
<string>Show recoverable files as notifications</string>
</property>
</widget>
</item>
<item row="10" column="1">
<item row="11" column="1">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -111,14 +77,7 @@
</property>
</spacer>
</item>
<item row="4" column="1" colspan="2">
<widget class="QCheckBox" name="chkShowRecovery">
<property name="text">
<string>Show first recovery window when emptying sandboxes</string>
</property>
</widget>
</item>
<item row="7" column="1" colspan="3">
<item row="8" column="1" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QCheckBox" name="chkPanic">
@ -132,18 +91,26 @@
</item>
</layout>
</item>
<item row="10" column="2">
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<item row="5" column="1" colspan="2">
<widget class="QCheckBox" name="chkNotifyRecovery">
<property name="text">
<string>Show recoverable files as notifications</string>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</widget>
</item>
<item row="7" column="1" colspan="2">
<widget class="QCheckBox" name="chkAsyncBoxOps">
<property name="text">
<string>Run box operations asynchronously whenever possible (like content deletion)</string>
</property>
</spacer>
</widget>
</item>
<item row="10" column="1" colspan="2">
<widget class="QCheckBox" name="chkWatchConfig">
<property name="text">
<string>Watch Sandboxie.ini for changes</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_19">
@ -155,13 +122,36 @@
</property>
</widget>
</item>
<item row="6" column="1" colspan="2">
<widget class="QCheckBox" name="chkAsyncBoxOps">
<item row="9" column="1" colspan="2">
<widget class="QCheckBox" name="chkMonitorSize">
<property name="text">
<string>Run box operations asynchronously whenever possible (like content deletion)</string>
<string>Count and display the disk space ocupied by each sandbox</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QCheckBox" name="chkNotifications">
<property name="text">
<string>Show Notifications for relevant log Messages</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="11" column="2">
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_9">
<property name="font">
@ -176,6 +166,23 @@
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QCheckBox" name="chkShowRecovery">
<property name="text">
<string>Show first recovery window when emptying sandboxes</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="uiLang"/>
</item>
<item row="6" column="1" colspan="2">
<widget class="QCheckBox" name="chkRecoveryTop">
<property name="text">
<string>Show the Recovery Window as Always on Top</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
@ -187,29 +194,26 @@
<layout class="QGridLayout" name="gridLayout_14">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_13">
<item row="11" column="1" colspan="2">
<widget class="QComboBox" name="cmbOnClose"/>
<item row="3" column="2">
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1" colspan="3">
<widget class="QCheckBox" name="chkShellMenu">
<item row="2" column="1" colspan="3">
<widget class="QCheckBox" name="chkSvcStart">
<property name="text">
<string>Add 'Run Sandboxed' to the explorer context menu</string>
<string>Start UI when a sandboxed process is started</string>
</property>
</widget>
</item>
<item row="9" column="3">
<widget class="QCheckBox" name="chkCompactTray">
<property name="text">
<string>Use Compact Box List</string>
</property>
<property name="tristate">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="1" colspan="2">
<widget class="QComboBox" name="cmbTrayBoxes"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_8">
<property name="font">
@ -224,19 +228,29 @@
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_20">
<item row="5" column="2" colspan="3">
<widget class="QCheckBox" name="chkAlwaysDefault">
<property name="text">
<string>Show Icon in Systray:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="openExternalLinks">
<bool>true</bool>
<string>Always use DefaultBox</string>
</property>
</widget>
</item>
<item row="8" column="1" colspan="2">
<widget class="QComboBox" name="cmbSysTray"/>
</item>
<item row="12" column="3" colspan="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_5">
<property name="font">
@ -251,6 +265,16 @@
</property>
</widget>
</item>
<item row="11" column="1" colspan="2">
<widget class="QComboBox" name="cmbOnClose"/>
</item>
<item row="6" column="2" colspan="3">
<widget class="QCheckBox" name="chkShellMenu2">
<property name="text">
<string>Add 'Run Un-Sandboxed' to the context menu</string>
</property>
</widget>
</item>
<item row="3" column="3">
<spacer name="horizontalSpacer_6">
<property name="orientation">
@ -264,23 +288,17 @@
</property>
</spacer>
</item>
<item row="12" column="3" colspan="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
<kerning>true</kerning>
</font>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="10" column="1" colspan="3">
<widget class="QCheckBox" name="chkBoxOpsNotify">
<property name="text">
<string>Show a tray notification when automatic box operations are started</string>
<string>Start Sandbox Manager</string>
</property>
</widget>
</item>
@ -297,6 +315,63 @@
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_20">
<property name="text">
<string>Show Icon in Systray:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="3">
<widget class="QCheckBox" name="chkCompactTray">
<property name="text">
<string>Use Compact Box List</string>
</property>
<property name="tristate">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="1" colspan="3">
<widget class="QCheckBox" name="chkBoxOpsNotify">
<property name="text">
<string>Show a tray notification when automatic box operations are started</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="3">
<widget class="QCheckBox" name="chkAutoStart">
<property name="text">
<string>Start UI with Windows</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="3">
<widget class="QCheckBox" name="chkShellMenu">
<property name="text">
<string>Add 'Run Sandboxed' to the explorer context menu</string>
</property>
</widget>
</item>
<item row="9" column="1" colspan="2">
<widget class="QComboBox" name="cmbTrayBoxes"/>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>On main window close:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="12" column="1">
<spacer name="verticalSpacer_6">
<property name="orientation">
@ -310,74 +385,6 @@
</property>
</spacer>
</item>
<item row="3" column="2">
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="8" column="1" colspan="2">
<widget class="QComboBox" name="cmbSysTray"/>
</item>
<item row="5" column="2" colspan="3">
<widget class="QCheckBox" name="chkAlwaysDefault">
<property name="text">
<string>Always use DefaultBox</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
<kerning>true</kerning>
</font>
</property>
<property name="text">
<string>Start Sandbox Manager</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="3">
<widget class="QCheckBox" name="chkAutoStart">
<property name="text">
<string>Start UI with Windows</string>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>On main window close:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="6" column="2" colspan="3">
<widget class="QCheckBox" name="chkShellMenu2">
<property name="text">
<string>Add 'Run Un-Sandboxed' to the context menu</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="3">
<widget class="QCheckBox" name="chkSvcStart">
<property name="text">
<string>Start UI when a sandboxed process is started</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
@ -389,38 +396,30 @@
<layout class="QGridLayout" name="gridLayout_17">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_15">
<item row="3" column="1" colspan="2">
<widget class="QCheckBox" name="chkBackground">
<item row="9" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>Show &quot;Pizza&quot; Background in box list *</string>
<string>Font Scaling</string>
</property>
<property name="tristate">
<bool>true</bool>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLabel" name="label">
<property name="text">
<string>(Restart required)</string>
</property>
</widget>
<item row="1" column="1">
<widget class="QComboBox" name="cmbDPI"/>
</item>
<item row="10" column="2" colspan="2">
<widget class="QLabel" name="label_11">
<item row="1" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>* a partially checked checkbox will leave the behavior to be determined by the view mode.</string>
<string>High DPI Scaling</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="7" column="1" colspan="3">
<widget class="QCheckBox" name="chkColorIcons">
<property name="text">
<string>Make Box Icons match the Border Color</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="3">
<widget class="QCheckBox" name="chkOptTree">
<property name="text">
<string>Use a Page Tree in the Box Options instead of Nested Tabs *</string>
@ -430,6 +429,19 @@
</property>
</widget>
</item>
<item row="10" column="1">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="font">
@ -444,23 +456,41 @@
</property>
</widget>
</item>
<item row="9" column="1">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
<item row="6" column="1" colspan="2">
<widget class="QCheckBox" name="chkNoIcons">
<property name="text">
<string>Don't show icons in menus *</string>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
<property name="tristate">
<bool>true</bool>
</property>
</spacer>
</item>
<item row="1" column="1" colspan="2">
<widget class="QComboBox" name="cmbDPI"/>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QCheckBox" name="chkBackground">
<property name="text">
<string>Show &quot;Pizza&quot; Background in box list*</string>
</property>
<property name="tristate">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="2" colspan="2">
<widget class="QLabel" name="label_11">
<property name="text">
<string>* indetermined means depanding on the view mode</string>
</property>
</widget>
</item>
<item row="8" column="1" colspan="3">
<widget class="QCheckBox" name="chkColorIcons">
<property name="text">
<string>Make Box Icons match the Border Color</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<widget class="QCheckBox" name="chkLargeIcons">
<property name="text">
<string>Use large icons in box list *</string>
@ -470,30 +500,37 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_23">
<item row="9" column="2">
<widget class="QLabel" name="label_13">
<property name="text">
<string>High DPI Scaling</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
<string>%</string>
</property>
</widget>
</item>
<item row="8" column="1">
<item row="10" column="3">
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="9" column="1">
<widget class="QComboBox" name="cmbFontScale">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<widget class="QCheckBox" name="chkNoIcons">
<item row="1" column="2">
<widget class="QLabel" name="label">
<property name="text">
<string>Don't show icons in menus *</string>
</property>
<property name="tristate">
<bool>true</bool>
<string>(Restart required)</string>
</property>
</widget>
</item>
@ -507,29 +544,13 @@
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_24">
<item row="3" column="1" colspan="2">
<widget class="QCheckBox" name="chkAltRows">
<property name="text">
<string>Font Scaling</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
<string>Alternate row background in lists</string>
</property>
</widget>
</item>
<item row="9" column="3">
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>

View File

@ -787,6 +787,8 @@ void CSandMan::CreateView(int iViewMode)
// Recovery Log
m_pRecoveryLog = new CPanelWidgetEx();
m_pRecoveryLog->GetTree()->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
//m_pRecoveryLog->GetView()->setItemDelegate(theGUI->GetItemDelegate());
((QTreeWidgetEx*)m_pRecoveryLog->GetView())->setHeaderLabels(tr("Time|Box Name|File Path").split("|"));
@ -1524,6 +1526,7 @@ void CSandMan::AddLogMessage(const QString& Message)
pItem->setText(0, QDateTime::currentDateTime().toString("hh:mm:ss.zzz"));
pItem->setText(1, Message);
m_pMessageLog->GetTree()->addTopLevelItem(pItem);
m_pMessageLog->GetTree()->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pMessageLog->GetView()->verticalScrollBar()->setValue(m_pMessageLog->GetView()->verticalScrollBar()->maximum());
}

View File

@ -192,6 +192,8 @@ CRecoveryLogWnd::CRecoveryLogWnd(QWidget *parent)
m_pRecoveryLog = new CPanelWidgetEx();
m_pRecoveryLog->GetTree()->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
//m_pRecoveryLog->GetView()->setItemDelegate(theGUI->GetItemDelegate());
((QTreeWidgetEx*)m_pRecoveryLog->GetView())->setHeaderLabels(tr("Time|Box Name|File Path").split("|"));

View File

@ -14,6 +14,7 @@ CFileView::CFileView(QWidget *parent)
this->setLayout(m_pMainLayout);
m_pTreeView = new QTreeView();
m_pTreeView->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pMainLayout->addWidget(m_pTreeView, 0, 0);
m_pFileModel = new QFileSystemModel(this);

View File

@ -29,13 +29,14 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent)
m_pSbieModel->SetTree(true);
m_pSbieModel->SetUseIcons(true);
m_pSortProxy = new CSortFilterProxyModel(false, this);
m_pSortProxy = new CSortFilterProxyModel(this);
m_pSortProxy->setSortRole(Qt::EditRole);
m_pSortProxy->setSourceModel(m_pSbieModel);
m_pSortProxy->setDynamicSortFilter(true);
// SbieTree
m_pSbieTree = new QTreeViewEx();
m_pSbieTree->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pSbieTree->setExpandsOnDoubleClick(false);
//m_pSbieTree->setItemDelegate(theGUI->GetItemDelegate());

View File

@ -10,7 +10,7 @@
//class CTraceFilterProxyModel : public CSortFilterProxyModel
//{
//public:
// CTraceFilterProxyModel(QObject* parrent = 0) : CSortFilterProxyModel(false, parrent)
// CTraceFilterProxyModel(QObject* parrent = 0) : CSortFilterProxyModel(parrent)
// {
// m_FilterPid = 0;
// m_FilterTid = 0;
@ -51,6 +51,8 @@
CTraceTree::CTraceTree(QWidget* parent)
: CPanelWidget<QTreeViewEx>(parent)
{
m_pTreeList->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pTreeList->setSelectionMode(QAbstractItemView::ExtendedSelection);
m_pTraceModel = new CTraceModel();
@ -66,8 +68,6 @@ CTraceTree::CTraceTree(QWidget* parent)
m_pTreeList->setModel(m_pTraceModel);
m_pTreeList->setSelectionMode(QAbstractItemView::ExtendedSelection);
#ifdef WIN32
QStyle* pStyle = QStyleFactory::create("windows");
m_pTreeList->setStyle(pStyle);
@ -104,12 +104,14 @@ CTraceTree::~CTraceTree()
CMonitorList::CMonitorList(QWidget* parent)
: CPanelWidget<QTreeViewEx>(parent)
{
m_pTreeList->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pTreeList->setSelectionMode(QAbstractItemView::ExtendedSelection);
m_pMonitorModel = new CMonitorModel();
//connect(m_pMonitorModel, SIGNAL(NewBranche()), this, SLOT(UpdateFilters()));
m_pSortProxy = new CSortFilterProxyModel(false, this);
m_pSortProxy = new CSortFilterProxyModel(this);
m_pSortProxy->setSortRole(Qt::EditRole);
m_pSortProxy->setSourceModel(m_pMonitorModel);
m_pSortProxy->setDynamicSortFilter(true);
@ -118,8 +120,6 @@ CMonitorList::CMonitorList(QWidget* parent)
m_pSortProxy->setView(m_pTreeList);
m_pTreeList->setSelectionMode(QAbstractItemView::ExtendedSelection);
QStyle* pStyle = QStyleFactory::create("windows");
m_pTreeList->setStyle(pStyle);
m_pTreeList->setItemDelegate(new CTreeItemDelegate());

View File

@ -158,6 +158,22 @@ COptionsWindow::COptionsWindow(const QSharedPointer<CSbieIni>& pBox, const QStri
ui.tabs->setTabIcon(eTemplates, CSandMan::GetIcon("Template"));
ui.tabs->setTabIcon(eEditIni, CSandMan::GetIcon("EditIni"));
if (theConf->GetBool("Options/AltRowColors", false)) {
ui.treeRun->setAlternatingRowColors(true);
ui.treeGroups->setAlternatingRowColors(true);
ui.treeForced->setAlternatingRowColors(true);
ui.treeStop->setAlternatingRowColors(true);
ui.treeStart->setAlternatingRowColors(true);
ui.treeINet->setAlternatingRowColors(true);
ui.treeNetFw->setAlternatingRowColors(true);
ui.treeAccess->setAlternatingRowColors(true);
ui.treeRecovery->setAlternatingRowColors(true);
ui.treeTriggers->setAlternatingRowColors(true);
ui.treeTemplates->setAlternatingRowColors(true);
ui.treeFolders->setAlternatingRowColors(true);
}
CreateDebug();
if (m_Template)

View File

@ -44,6 +44,8 @@ CRecoveryWindow::CRecoveryWindow(const CSandBoxPtr& pBox, bool bImmediate, QWidg
ui.setupUi(this);
this->setWindowTitle(tr("%1 - File Recovery").arg(pBox->GetName()));
ui.treeFiles->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pBox = pBox;
m_pCounter = NULL;
@ -67,7 +69,7 @@ CRecoveryWindow::CRecoveryWindow(const CSandBoxPtr& pBox, bool bImmediate, QWidg
m_pFileModel->AddColumn(tr("File Size"), "FileSize");
m_pFileModel->AddColumn(tr("Full Path"), "DiskPath");
m_pSortProxy = new CSortFilterProxyModel(false, this);
m_pSortProxy = new CSortFilterProxyModel(this);
m_pSortProxy->setSortRole(Qt::EditRole);
m_pSortProxy->setSourceModel(m_pFileModel);
m_pSortProxy->setDynamicSortFilter(true);

View File

@ -87,6 +87,7 @@ CSelectBoxWindow::CSelectBoxWindow(const QStringList& Commands, const QString& B
ui.setupUi(this);
this->setWindowTitle(tr("Sandboxie-Plus - Run Sandboxed"));
ui.treeBoxes->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
connect(ui.radBoxed, SIGNAL(clicked(bool)), this, SLOT(OnBoxType()));
connect(ui.radUnBoxed, SIGNAL(clicked(bool)), this, SLOT(OnBoxType()));

View File

@ -65,9 +65,6 @@ SCertInfo g_CertInfo = { 0 };
CSettingsWindow::CSettingsWindow(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
this->setWindowTitle(tr("Sandboxie Plus - Settings"));
Qt::WindowFlags flags = windowFlags();
flags |= Qt::CustomizeWindowHint;
//flags &= ~Qt::WindowContextHelpButtonHint;
@ -80,6 +77,13 @@ CSettingsWindow::CSettingsWindow(QWidget *parent)
bool bAlwaysOnTop = theConf->GetBool("Options/AlwaysOnTop", false);
this->setWindowFlag(Qt::WindowStaysOnTopHint, bAlwaysOnTop);
ui.setupUi(this);
this->setWindowTitle(tr("Sandboxie Plus - Settings"));
if (theConf->GetBool("Options/AltRowColors", false)) {
ui.treeWarnProgs->setAlternatingRowColors(true);
ui.treeCompat->setAlternatingRowColors(true);
}
ui.tabs->setTabPosition(QTabWidget::West);
ui.tabs->tabBar()->setStyle(new CustomTabStyle(ui.tabs->tabBar()->style()));
@ -144,6 +148,7 @@ CSettingsWindow::CSettingsWindow(QWidget *parent)
connect(ui.cmbDPI, SIGNAL(currentIndexChanged(int)), this, SLOT(OnChangeGUI()));
connect(ui.chkDarkTheme, SIGNAL(stateChanged(int)), this, SLOT(OnChangeGUI()));
connect(ui.chkAltRows, SIGNAL(stateChanged(int)), this, SLOT(OnChangeGUI()));
connect(ui.chkBackground, SIGNAL(stateChanged(int)), this, SLOT(OnChangeGUI()));
connect(ui.chkLargeIcons, SIGNAL(stateChanged(int)), this, SLOT(OnChangeGUI()));
connect(ui.chkNoIcons, SIGNAL(stateChanged(int)), this, SLOT(OnChangeGUI()));
@ -325,6 +330,7 @@ void CSettingsWindow::LoadSettings()
ui.cmbDPI->setCurrentIndex(theConf->GetInt("Options/DPIScaling", 1));
ui.chkDarkTheme->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/UseDarkTheme", 2)));
ui.chkAltRows->setChecked(theConf->GetBool("Options/AltRowColors", false));
ui.chkBackground->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/UseBackground", 2)));
ui.chkLargeIcons->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/LargeIcons", 2)));
ui.chkNoIcons->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/NoIcons", 2)));
@ -340,6 +346,7 @@ void CSettingsWindow::LoadSettings()
ui.chkShowRecovery->setChecked(theConf->GetBool("Options/ShowRecovery", false));
ui.chkNotifyRecovery->setChecked(!theConf->GetBool("Options/InstantRecovery", true));
ui.chkRecoveryTop->setChecked(theConf->GetBool("Options/RecoveryOnTop", true));
ui.chkAsyncBoxOps->setChecked(theConf->GetBool("Options/UseAsyncBoxOps", false));
ui.chkPanic->setChecked(theConf->GetBool("Options/EnablePanicKey", false));
@ -513,6 +520,7 @@ void CSettingsWindow::SaveSettings()
theConf->SetValue("Options/DPIScaling", ui.cmbDPI->currentData());
theConf->SetValue("Options/UseDarkTheme", CSettingsWindow__Chk2Int(ui.chkDarkTheme->checkState()));
theConf->SetValue("Options/AltRowColors", ui.chkAltRows->isChecked());
theConf->SetValue("Options/UseBackground", CSettingsWindow__Chk2Int(ui.chkBackground->checkState()));
theConf->SetValue("Options/LargeIcons", CSettingsWindow__Chk2Int(ui.chkLargeIcons->checkState()));
theConf->SetValue("Options/NoIcons", CSettingsWindow__Chk2Int(ui.chkNoIcons->checkState()));
@ -564,6 +572,7 @@ void CSettingsWindow::SaveSettings()
theConf->SetValue("Options/ShowRecovery", ui.chkShowRecovery->isChecked());
theConf->SetValue("Options/InstantRecovery", !ui.chkNotifyRecovery->isChecked());
theConf->SetValue("Options/RecoveryOnTop", ui.chkRecoveryTop->isChecked());
theConf->SetValue("Options/UseAsyncBoxOps", ui.chkAsyncBoxOps->isChecked());
theConf->SetValue("Options/EnablePanicKey", ui.chkPanic->isChecked());

View File

@ -23,6 +23,9 @@ CSnapshotsWindow::CSnapshotsWindow(const CSandBoxPtr& pBox, QWidget *parent)
ui.setupUi(this);
this->setWindowTitle(tr("%1 - Snapshots").arg(pBox->GetName()));
ui.treeSnapshots->setAlternatingRowColors(theConf->GetBool("Options/AltRowColors", false));
m_pBox = pBox;
m_SaveInfoPending = 0;
@ -35,7 +38,7 @@ CSnapshotsWindow::CSnapshotsWindow(const CSandBoxPtr& pBox, QWidget *parent)
m_pSnapshotModel = new CSimpleTreeModel();
m_pSnapshotModel->AddColumn(tr("Snapshot"), "Name");
/*m_pSortProxy = new CSortFilterProxyModel(false, this);
/*m_pSortProxy = new CSortFilterProxyModel(this);
m_pSortProxy->setSortRole(Qt::EditRole);
m_pSortProxy->setSourceModel(m_pSnapshotModel);
m_pSortProxy->setDynamicSortFilter(true);*/