mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 05:15:40 +03:00
Introduce MirallConfigFile::save/restoreGeometry()
This commit is contained in:
parent
b2c587e2f8
commit
5fe4d2db2b
4 changed files with 26 additions and 9 deletions
|
@ -60,6 +60,7 @@ LogBrowser::LogBrowser(QWidget *parent) :
|
|||
_logstream(0),
|
||||
_doFileFlush(false)
|
||||
{
|
||||
setObjectName("LogBrowser"); // for save/restoreGeometry()
|
||||
setWindowTitle(tr("Log Output"));
|
||||
setMinimumWidth(600);
|
||||
|
||||
|
@ -118,8 +119,7 @@ LogBrowser::LogBrowser(QWidget *parent) :
|
|||
connect(Logger::instance(), SIGNAL(newLog(QString)),this,SLOT(slotNewLog(QString)), Qt::AutoConnection);
|
||||
|
||||
MirallConfigFile cfg;
|
||||
QSettings settings(cfg.configFile(), QSettings::IniFormat);
|
||||
restoreGeometry(settings.value("LogBrowser/geometry").toByteArray());
|
||||
cfg.restoreGeometry(this);
|
||||
}
|
||||
|
||||
LogBrowser::~LogBrowser()
|
||||
|
@ -219,8 +219,7 @@ void LogBrowser::slotClearLog()
|
|||
void LogBrowser::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
MirallConfigFile cfg;
|
||||
QSettings settings(cfg.configFile(), QSettings::IniFormat);
|
||||
settings.setValue("LogBrowser/geometry", saveGeometry());
|
||||
cfg.saveGeometry(this);
|
||||
QWidget::closeEvent(event);
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ static const char remotePollIntervalC[] = "remotePollInterval";
|
|||
static const char monoIconsC[] = "monoIcons";
|
||||
static const char optionalDesktopNoficationsC[] = "optionalDesktopNotifications";
|
||||
static const char skipUpdateCheckC[] = "skipUpdateCheck";
|
||||
static const char geometryC[] = "geometry";
|
||||
|
||||
static const char proxyHostC[] = "Proxy/host";
|
||||
static const char proxyTypeC[] = "Proxy/type";
|
||||
|
@ -99,6 +100,21 @@ void MirallConfigFile::setSeenVersion(const QString &version)
|
|||
settings.sync();
|
||||
}
|
||||
|
||||
void MirallConfigFile::saveGeometry(QWidget *w)
|
||||
{
|
||||
Q_ASSERT(!w->objectName().isNull());
|
||||
QSettings settings( configFile(), QSettings::IniFormat );
|
||||
settings.setIniCodec( "UTF-8" );
|
||||
settings.beginGroup(w->objectName());
|
||||
settings.setValue(QLatin1String(geometryC), w->saveGeometry());
|
||||
settings.sync();
|
||||
}
|
||||
|
||||
void MirallConfigFile::restoreGeometry(QWidget *w)
|
||||
{
|
||||
w->restoreGeometry(getValue(geometryC, w->objectName()).toByteArray());
|
||||
}
|
||||
|
||||
QString MirallConfigFile::configPath() const
|
||||
{
|
||||
QString dir = _confDir;
|
||||
|
|
|
@ -18,10 +18,10 @@
|
|||
#include <QString>
|
||||
|
||||
class QVariant;
|
||||
class QWidget;
|
||||
|
||||
namespace Mirall {
|
||||
|
||||
|
||||
class MirallConfigFile
|
||||
{
|
||||
/* let only CredentialStore read the password from the file. All other classes
|
||||
|
@ -103,6 +103,9 @@ public:
|
|||
QString seenVersion() const;
|
||||
void setSeenVersion(const QString &version);
|
||||
|
||||
void saveGeometry(QWidget *w);
|
||||
void restoreGeometry(QWidget *w);
|
||||
|
||||
protected:
|
||||
// these classes can only be access from CredentialStore as a friend class.
|
||||
bool ownCloudPasswordExists( const QString& connection = QString() ) const;
|
||||
|
|
|
@ -42,6 +42,7 @@ SettingsDialog::SettingsDialog(Application *app, QWidget *parent) :
|
|||
_ui(new Ui::SettingsDialog), _folderMan(app->_folderMan)
|
||||
{
|
||||
_ui->setupUi(this);
|
||||
setObjectName("Settings"); // required as group for saveGeometry call
|
||||
|
||||
setWindowTitle(tr("%1 Settings").arg(Theme::instance()->appNameGUI()));
|
||||
|
||||
|
@ -85,8 +86,7 @@ SettingsDialog::SettingsDialog(Application *app, QWidget *parent) :
|
|||
connect(closeButton, SIGNAL(pressed()), SLOT(accept()));
|
||||
|
||||
MirallConfigFile cfg;
|
||||
QSettings settings(cfg.configFile(), QSettings::IniFormat);
|
||||
restoreGeometry(settings.value("Settings/geometry").toByteArray());
|
||||
cfg.restoreGeometry(this);
|
||||
}
|
||||
|
||||
SettingsDialog::~SettingsDialog()
|
||||
|
@ -106,8 +106,7 @@ void SettingsDialog::addAccount(const QString &title, QWidget *widget)
|
|||
void SettingsDialog::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
MirallConfigFile cfg;
|
||||
QSettings settings(cfg.configFile(), QSettings::IniFormat);
|
||||
settings.setValue("Settings/geometry", saveGeometry());
|
||||
cfg.saveGeometry(this);
|
||||
QWidget::closeEvent(event);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue