add config confirm_reload_folder to check whether prompt for uer when reloading folder

This commit is contained in:
Le Tan 2017-09-24 09:46:30 +08:00
parent d20dc4a0b0
commit da64b8c12f
5 changed files with 62 additions and 7 deletions

View File

@ -13,6 +13,7 @@
#include "vconfigmanager.h" #include "vconfigmanager.h"
VConfigManager *g_config; VConfigManager *g_config;
VMainWindow *g_mainWin;
#if defined(QT_NO_DEBUG) #if defined(QT_NO_DEBUG)
QFile g_logFile; QFile g_logFile;
@ -168,6 +169,7 @@ int main(int argc, char *argv[])
} }
VMainWindow w(&guard); VMainWindow w(&guard);
g_mainWin = &w;
QString style = VUtils::readFileFromDisk(":/resources/vnote.qss"); QString style = VUtils::readFileFromDisk(":/resources/vnote.qss");
if (!style.isEmpty()) { if (!style.isEmpty()) {
VUtils::processStyle(style, w.getPalette()); VUtils::processStyle(style, w.getPalette());

View File

@ -116,6 +116,9 @@ recycle_bin_folder=_v_recycle_bin
; Confirm before deleting unused images ; Confirm before deleting unused images
confirm_images_clean_up=true confirm_images_clean_up=true
; Confirm before reloading folder from disk
confirm_reload_folder=true
[session] [session]
tools_dock_checked=true tools_dock_checked=true

View File

@ -210,6 +210,9 @@ void VConfigManager::initialize()
m_confirmImagesCleanUp = getConfigFromSettings("global", m_confirmImagesCleanUp = getConfigFromSettings("global",
"confirm_images_clean_up").toBool(); "confirm_images_clean_up").toBool();
m_confirmReloadFolder = getConfigFromSettings("global",
"confirm_reload_folder").toBool();
} }
void VConfigManager::readPredefinedColorsFromSettings() void VConfigManager::readPredefinedColorsFromSettings()

View File

@ -274,6 +274,9 @@ public:
bool getConfirmImagesCleanUp() const; bool getConfirmImagesCleanUp() const;
void setConfirmImagesCleanUp(bool p_enabled); void setConfirmImagesCleanUp(bool p_enabled);
bool getConfirmReloadFolder() const;
void setConfirmReloadFolder(bool p_enabled);
// Return the configured key sequence of @p_operation. // Return the configured key sequence of @p_operation.
// Return empty if there is no corresponding config. // Return empty if there is no corresponding config.
QString getShortcutKeySequence(const QString &p_operation) const; QString getShortcutKeySequence(const QString &p_operation) const;
@ -551,6 +554,9 @@ private:
// Confirm before deleting unused images. // Confirm before deleting unused images.
bool m_confirmImagesCleanUp; bool m_confirmImagesCleanUp;
// Confirm before reloading folder from disk.
bool m_confirmReloadFolder;
// The name of the config file in each directory, obsolete. // The name of the config file in each directory, obsolete.
// Use c_dirConfigFile instead. // Use c_dirConfigFile instead.
static const QString c_obsoleteDirConfigFile; static const QString c_obsoleteDirConfigFile;
@ -1444,4 +1450,22 @@ inline void VConfigManager::setConfirmImagesCleanUp(bool p_enabled)
"confirm_images_clean_up", "confirm_images_clean_up",
m_confirmImagesCleanUp); m_confirmImagesCleanUp);
} }
inline bool VConfigManager::getConfirmReloadFolder() const
{
return m_confirmReloadFolder;
}
inline void VConfigManager::setConfirmReloadFolder(bool p_enabled)
{
if (m_confirmReloadFolder == p_enabled) {
return;
}
m_confirmReloadFolder = p_enabled;
setConfigToSettings("global",
"confirm_reload_folder",
m_confirmReloadFolder);
}
#endif // VCONFIGMANAGER_H #endif // VCONFIGMANAGER_H

View File

@ -8,6 +8,9 @@
#include "utils/vutils.h" #include "utils/vutils.h"
#include "veditarea.h" #include "veditarea.h"
#include "vconfigmanager.h" #include "vconfigmanager.h"
#include "vmainwindow.h"
extern VMainWindow *g_mainWin;
extern VConfigManager *g_config; extern VConfigManager *g_config;
extern VNote *g_vnote; extern VNote *g_vnote;
@ -521,6 +524,7 @@ void VDirectoryTree::reloadFromDisk()
return; return;
} }
QString msg;
QString info; QString info;
VDirectory *curDir = NULL; VDirectory *curDir = NULL;
QTreeWidgetItem *curItem = currentItem(); QTreeWidgetItem *curItem = currentItem();
@ -529,20 +533,35 @@ void VDirectoryTree::reloadFromDisk()
curDir = getVDirectory(curItem); curDir = getVDirectory(curItem);
info = tr("Are you sure to reload folder <span style=\"%1\">%2</span>?") info = tr("Are you sure to reload folder <span style=\"%1\">%2</span>?")
.arg(g_config->c_dataTextStyle).arg(curDir->getName()); .arg(g_config->c_dataTextStyle).arg(curDir->getName());
msg = tr("Successfully reloaded folder %1 from disk").arg(curDir->getName());
} else { } else {
// Reload notebook. // Reload notebook.
info = tr("Are you sure to reload notebook <span style=\"%1\">%2</span>?") info = tr("Are you sure to reload notebook <span style=\"%1\">%2</span>?")
.arg(g_config->c_dataTextStyle).arg(m_notebook->getName()); .arg(g_config->c_dataTextStyle).arg(m_notebook->getName());
msg = tr("Successfully reloaded notebook %1 from disk").arg(m_notebook->getName());
} }
int ret = VUtils::showMessage(QMessageBox::Information, tr("Information"), if (g_config->getConfirmReloadFolder()) {
info, int ret = VUtils::showMessage(QMessageBox::Information, tr("Information"),
tr("VNote will close all the related notes before reload."), info,
QMessageBox::Ok | QMessageBox::Cancel, tr("VNote will close all the related notes before reload."),
QMessageBox::Ok, this); QMessageBox::Ok | QMessageBox::YesToAll | QMessageBox::Cancel,
QMessageBox::Ok,
this);
switch (ret) {
case QMessageBox::YesToAll:
g_config->setConfirmReloadFolder(false);
// Fall through.
if (ret != QMessageBox::Ok) { case QMessageBox::Ok:
return; break;
case QMessageBox::Cancel:
return;
default:
return;
}
} }
m_notebookCurrentDirMap.remove(m_notebook); m_notebookCurrentDirMap.remove(m_notebook);
@ -588,6 +607,10 @@ void VDirectoryTree::reloadFromDisk()
updateDirectoryTree(); updateDirectoryTree();
} }
if (!msg.isEmpty()) {
g_mainWin->showStatusMessage(msg);
}
} }
void VDirectoryTree::copySelectedDirectories(bool p_cut) void VDirectoryTree::copySelectedDirectories(bool p_cut)