diff --git a/src/KpxConfig.cpp b/src/KpxConfig.cpp index 7a1071b..24fcc9d 100644 --- a/src/KpxConfig.cpp +++ b/src/KpxConfig.cpp @@ -25,6 +25,7 @@ #include #include #include +#include KpxConfig::KpxConfig(const QString& filePath) : settings(filePath,QSettings::IniFormat){ configFile=filePath; @@ -214,6 +215,26 @@ QString KpxConfig::keyTypeToString(tKeyType keyType){ return res; } +QRect KpxConfig::dialogGeometry(const QWidget* widget){ + Q_ASSERT(widget->parentWidget()!=NULL && widget->parentWidget()->window()!=NULL); + QSize size = settings.value(QString("UI/%1Size").arg(widget->objectName()),widget->size()).toSize(); + QSize minSize = widget->minimumSize(); + if (size.width() < minSize.width() || size.height() < minSize.height()) + size = minSize; + if (minSize.isNull() && widget->layout()!=NULL){ + minSize = widget->layout()->minimumSize(); + if (size.width() < minSize.width() || size.height() < minSize.height()) + size = minSize; + } + + QRect rect(QPoint(), size); + rect.moveCenter( widget->parentWidget()->window()->geometry().center() ); + return rect; +} + +void KpxConfig::setDialogGeometry(const QWidget* widget){ + settings.setValue(QString("UI/%1Size").arg(widget->objectName()),widget->size()); +} QString KpxConfig::detailViewTemplate(){ if (settings.contains("UI/DetailsView")){ diff --git a/src/KpxConfig.h b/src/KpxConfig.h index 5cf92c4..2229c8b 100644 --- a/src/KpxConfig.h +++ b/src/KpxConfig.h @@ -166,6 +166,9 @@ public: unsigned fileDlgHistorySize(); void clearFileDlgHistory(){settings.remove("FileDlgHistory");}; + QRect dialogGeometry(const QWidget* widget); + void setDialogGeometry(const QWidget* widget); + QString detailViewTemplate(); QString defaultDetailViewTemplate(); void setDetailViewTemplate(const QString& value); diff --git a/src/dialogs/AboutDlg.cpp b/src/dialogs/AboutDlg.cpp index 7a6fce9..3f22f78 100644 --- a/src/dialogs/AboutDlg.cpp +++ b/src/dialogs/AboutDlg.cpp @@ -71,11 +71,6 @@ void AboutDialog::paintEvent(QPaintEvent *event){ painter.drawPixmap(QPoint(0,0),BannerPixmap); } -void AboutDialog::OnClose() -{ -close(); -} - void AboutDialog::loadLicFromFile(){ QString filename; filename = AppDir+"/../share/keepass/license.html"; diff --git a/src/dialogs/AboutDlg.h b/src/dialogs/AboutDlg.h index 4ef153b..cc9b780 100644 --- a/src/dialogs/AboutDlg.h +++ b/src/dialogs/AboutDlg.h @@ -26,23 +26,21 @@ #include "main.h" - - class AboutDialog : public QDialog, public Ui_AboutDlg { - Q_OBJECT -public: - AboutDialog(QWidget* parent); - - -public slots: - virtual void OnClose(); - void OnHomepageClicked(); - void OnEMailClicked(); -private: - QPixmap BannerPixmap; - inline void loadLicFromFile(); - virtual void paintEvent(QPaintEvent*); + Q_OBJECT + + public: + AboutDialog(QWidget* parent); + + private slots: + void OnHomepageClicked(); + void OnEMailClicked(); + + private: + QPixmap BannerPixmap; + inline void loadLicFromFile(); + virtual void paintEvent(QPaintEvent*); }; #endif diff --git a/src/dialogs/EditEntryDlg.cpp b/src/dialogs/EditEntryDlg.cpp index ee22158..ef461cd 100644 --- a/src/dialogs/EditEntryDlg.cpp +++ b/src/dialogs/EditEntryDlg.cpp @@ -41,16 +41,19 @@ -CEditEntryDlg::CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* parent, bool modal, Qt::WFlags fl) -: QDialog(parent,fl) +CEditEntryDlg::CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* parent, bool modal, bool newEntry) +: QDialog(parent) { Q_ASSERT(_db); Q_ASSERT(_entry); entry=_entry; db=_db; + pNewEntry=newEntry; setupUi(this); ModFlag=false; QMenu *ExpirePresetsMenu=new QMenu(); + + setGeometry( config->dialogGeometry(this) ); connect(Edit_Title, SIGNAL(textChanged(const QString&)), this, SLOT( OnTitleTextChanged(const QString&))); connect(Edit_Password_w, SIGNAL(editingFinished()), this, SLOT(OnPasswordwLostFocus())); @@ -67,6 +70,7 @@ CEditEntryDlg::CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* paren connect(Button_Icons,SIGNAL(clicked()),this,SLOT(OnButtonIcons())); connect(ExpirePresetsMenu,SIGNAL(triggered(QAction*)),this,SLOT(OnExpirePreset(QAction*))); connect(ButtonExpirePresets,SIGNAL(triggered(QAction*)),this,SLOT(OnCalendar())); + connect(this, SIGNAL(finished(int)), this, SLOT(OnClose())); // QAction::data() contains the time until expiration in days. ExpirePresetsMenu->addAction(tr("Today"))->setData(0); @@ -144,17 +148,8 @@ CEditEntryDlg::~CEditEntryDlg() } - -void CEditEntryDlg::showEvent(QShowEvent *event){ - -if(event->spontaneous()==false){ - - -} -} - void CEditEntryDlg::resizeEvent(QResizeEvent *event){ - createBanner(&BannerPixmap,getPixmap("keepassx_large"),tr("Edit Entry"),width()); + createBanner(&BannerPixmap,getPixmap("keepassx_large"),pNewEntry?tr("New Entry"):tr("Edit Entry"),width()); QDialog::resizeEvent(event); } @@ -434,3 +429,6 @@ void CEditEntryDlg::OnCalendar(){ } } +void CEditEntryDlg::OnClose(){ + config->setDialogGeometry(this); +} diff --git a/src/dialogs/EditEntryDlg.h b/src/dialogs/EditEntryDlg.h index 1d7aa12..343f5f3 100644 --- a/src/dialogs/EditEntryDlg.h +++ b/src/dialogs/EditEntryDlg.h @@ -30,7 +30,7 @@ class CEditEntryDlg : public QDialog, public Ui_EditEntryDialog { Q_OBJECT public: - CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* parent = 0, bool modal = FALSE, Qt::WFlags fl = 0); + CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* parent = 0, bool modal = FALSE, bool newEntry = FALSE); ~CEditEntryDlg(); void InitGroupComboBox(); /* MX-TO-DO: Remove this declaration @@ -45,7 +45,7 @@ class CEditEntryDlg : public QDialog, public Ui_EditEntryDialog QList groups; QPixmap BannerPixmap; - public slots: + private slots: void OnTitleTextChanged(const QString&); void OnPasswordwLostFocus(); void OnPasswordwTextChanged(); @@ -61,13 +61,14 @@ class CEditEntryDlg : public QDialog, public Ui_EditEntryDialog void OnButtonOK(); void OnExpirePreset(QAction*); void OnCalendar(); + void OnClose(); private: - virtual void showEvent(QShowEvent *); virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent *); int IconIndex; + bool pNewEntry; }; #endif diff --git a/src/dialogs/PasswordDlg.cpp b/src/dialogs/PasswordDlg.cpp index 5eb2573..b1dc280 100644 --- a/src/dialogs/PasswordDlg.cpp +++ b/src/dialogs/PasswordDlg.cpp @@ -44,7 +44,10 @@ CPasswordDialog::CPasswordDialog(QWidget* parent,QString filename,IDatabase* DB, Button_Bookmarks->setIcon(getIcon("bookmark")); db=DB; LastFile=filename; - setWindowTitle(LastFile); + if (ChangeKeyMode) + setWindowTitle(tr("Change Master Key")); + else + setWindowTitle(LastFile); QString mountDir=config->mountDir(); QDir media(mountDir); if(media.exists()){ diff --git a/src/dialogs/SettingsDlg.cpp b/src/dialogs/SettingsDlg.cpp index 3fbc5aa..ef71f02 100644 --- a/src/dialogs/SettingsDlg.cpp +++ b/src/dialogs/SettingsDlg.cpp @@ -70,8 +70,6 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog) connect(this,SIGNAL(rejected()),SLOT(resetGlobalShortcut())); #endif - createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width()); - //General CheckBox_OpenLast->setChecked(config->openLastFile()); CheckBox_RememberLastKey->setChecked(config->rememberLastKey()); @@ -178,6 +176,11 @@ void CSettingsDlg::paintEvent(QPaintEvent *event){ painter.drawPixmap(QPoint(0,0),BannerPixmap); } +void CSettingsDlg::resizeEvent(QResizeEvent* event){ + createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width()); + QDialog::resizeEvent(event); +} + void CSettingsDlg::OnOK() { apply(); diff --git a/src/dialogs/SettingsDlg.h b/src/dialogs/SettingsDlg.h index 984cb85..bef32af 100644 --- a/src/dialogs/SettingsDlg.h +++ b/src/dialogs/SettingsDlg.h @@ -36,7 +36,7 @@ class CSettingsDlg : public QDialog, public Ui_SettingsDialog CSettingsDlg(QWidget* parent); ~CSettingsDlg(); - public slots: + private slots: virtual void OnCancel(); virtual void OnOK(); virtual void OnTextColor(); @@ -58,6 +58,7 @@ class CSettingsDlg : public QDialog, public Ui_SettingsDialog private: virtual void paintEvent(QPaintEvent*); + virtual void resizeEvent(QResizeEvent*); void apply(); QColor color1,color2,textcolor; QPixmap BannerPixmap; diff --git a/src/forms/AboutDlg.ui b/src/forms/AboutDlg.ui index ede67c8..b53c153 100644 --- a/src/forms/AboutDlg.ui +++ b/src/forms/AboutDlg.ui @@ -24,7 +24,7 @@ 419 - 309 + 305 @@ -196,7 +196,7 @@ - Copyright (C) 2005 - 2007 KeePassX Team + Copyright (C) 2005 - 2008 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. diff --git a/src/forms/DatabaseSettingsDlg.ui b/src/forms/DatabaseSettingsDlg.ui index 5882660..34bc259 100644 --- a/src/forms/DatabaseSettingsDlg.ui +++ b/src/forms/DatabaseSettingsDlg.ui @@ -30,84 +30,65 @@ Database Settings - - - - 10 - 60 - 420 - 110 - - - - Encryption - - - - - 10 - 30 - 90 - 20 - - - - Algorithm: - - - - - - 109 - 30 - 300 - 21 - - - - - - - 180 - 70 - 230 - 21 - - - - - - - 10 - 70 - 150 - 20 - - - - Encryption Rounds: - - - - - - - 12 - 180 - 411 - 27 - - - - QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 50 + + + + + + + + Encryption + + + + 15 + + + + + Algorithm: + + + + + + + + + + Encryption Rounds: + + + + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + + + - - ComboAlgo - EditRounds - diff --git a/src/forms/EditEntryDlg.ui b/src/forms/EditEntryDlg.ui index 9481255..a2ba552 100644 --- a/src/forms/EditEntryDlg.ui +++ b/src/forms/EditEntryDlg.ui @@ -10,26 +10,6 @@ 526 - - - 5 - 5 - 0 - 0 - - - - - 500 - 526 - - - - - 16777215 - 16777215 - - Edit Entry @@ -40,26 +20,48 @@ true - + + 9 + + + 9 + + 9 - + + 9 + + + 6 + + 6 - + 0 - + + 0 + + + 0 + + + 0 + + + 6 + + 6 - - 1 - 0 + 0 0 @@ -86,16 +88,8 @@ - - - 16 - 16 - - - - 1 - 0 + 0 0 @@ -112,6 +106,12 @@ 23 + + + 16 + 16 + + @@ -122,9 +122,7 @@ - - 4 - 5 + 0 0 @@ -137,9 +135,7 @@ - - 4 - 5 + 0 0 @@ -152,9 +148,7 @@ - - 4 - 5 + 0 0 @@ -167,9 +161,7 @@ - - 4 - 5 + 0 0 @@ -182,9 +174,7 @@ - - 4 - 5 + 0 0 @@ -204,9 +194,7 @@ - - 4 - 5 + 0 0 @@ -219,9 +207,7 @@ - - 4 - 5 + 0 0 @@ -240,9 +226,7 @@ - - 4 - 5 + 0 0 @@ -255,9 +239,7 @@ - - 4 - 5 + 0 0 @@ -270,9 +252,7 @@ - - 4 - 5 + 0 0 @@ -304,21 +284,28 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + false - - 1 - 0 + 0 0 @@ -377,12 +364,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -413,12 +409,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -458,18 +463,25 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - - 3 - 0 + 0 0 diff --git a/src/lib/EntryView.cpp b/src/lib/EntryView.cpp index 14e2705..979dab2 100644 --- a/src/lib/EntryView.cpp +++ b/src/lib/EntryView.cpp @@ -239,7 +239,7 @@ void KeepassEntryView::OnNewEntry(){ } else NewEntry=db->newEntry(CurrentGroup); - CEditEntryDlg dlg(db,NewEntry,this,true); + CEditEntryDlg dlg(db,NewEntry,this,true,true); if(!dlg.exec()){ db->deleteLastEntry(); }