Another bunch of GUI changes

Auto-save database on program exit: apply adjusted patch #1900048 (closes #1792317)

git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@159 b624d157-de02-0410-bad0-e51aec6abb33
master
sniperbeamer 16 years ago
parent fecd1109b3
commit 7b15707c6d
  1. 2
      src/KpxConfig.h
  2. 23
      src/dialogs/AutoTypeDlg.cpp
  3. 1
      src/dialogs/AutoTypeDlg.h
  4. 6
      src/dialogs/ManageBookmarksDlg.cpp
  5. 1
      src/dialogs/ManageBookmarksDlg.h
  6. 2
      src/dialogs/SettingsDlg.cpp
  7. 22
      src/forms/AutoTypeDlg.ui
  8. 8
      src/forms/EditEntryDlg.ui
  9. 50
      src/forms/MainWindow.ui
  10. 3
      src/forms/PasswordDlg.ui
  11. 138
      src/forms/PasswordGenDlg.ui
  12. 2
      src/forms/SearchDlg.ui
  13. 14
      src/forms/SettingsDlg.ui
  14. 24
      src/mainwindow.cpp
  15. 13
      todo

@ -78,6 +78,7 @@ public:
bool startLocked(){return settings.value("Options/StartLocked",false).toBool();}
QString mountDir(){return settings.value("Options/MountDir",DEFAULT_MOUNT_DIR).toString();}
bool openLastFile(){return settings.value("Options/OpenLastFile",true).toBool();}
bool autoSave(){return settings.value("Options/AutoSave",false).toBool();}
QString pwGenCharList(){return settings.value("Options/PwGenCharList").toString();}
int pwGenLength(){return settings.value("Options/PwGenLength",25).toInt();}
QBitArray pwGenOptions(){return stringToBitArray(settings.value("Options/PwGenOptions","1111100001").toString(),10);}
@ -134,6 +135,7 @@ public:
void setStartLocked(bool value){settings.setValue("Options/StartLocked",value);}
void setMountDir(const QString& value){settings.setValue("Options/MountDir",value);}
void setOpenLastFile(bool value){settings.setValue("Options/OpenLastFile",value);}
void setAutoSave(bool value){settings.setValue("Options/AutoSave",value);}
void setPwGenCharList(const QString& value){settings.setValue("Options/PwGenCharList",value);}
void setPwGenLength(int value){settings.setValue("Options/PwGenLength",value);}
void setPwGenOptions(const QBitArray& value){settings.setValue("Options/PwGenOptions",bitArrayToString(value));}

@ -25,21 +25,25 @@
AutoTypeDlg::AutoTypeDlg(QList<IEntryHandle*> entries, QList<int> numbers){
setupUi(this);
createBanner(&BannerPixmap,getPixmap("keepassx_large"),tr("Auto-Type"),width());
setAttribute(Qt::WA_DeleteOnClose);
setWindowFlags(windowFlags()|Qt::WindowStaysOnTopHint);
setGeometry( QRect(QApplication::desktop()->screenGeometry(QCursor::pos()).center() - rect().center(), size()) );
setWindowIcon(getIcon("keepassx"));
entryList->setAlternatingRowColors(config->alternatingRowColors());
bool hideUsernames = config->hideUsernames();
if (hideUsernames)
entryList->setHeaderLabels(QStringList() << tr("Group") << tr("Title"));
else
entryList->setHeaderLabels(QStringList() << tr("Group") << tr("Title") << tr("Username"));
QList<QTreeWidgetItem*> itemList;
AutoTypeEntry autoTypeEntry;
for (int i=0; i<entries.size(); i++){
QStringList cols;
cols << entries[i]->group()->title() << entries[i]->title();
if (config->hideUsernames())
cols << "****";
else
if (!hideUsernames)
cols << entries[i]->username();
QTreeWidgetItem* widgetItem = new QTreeWidgetItem(cols);
@ -55,7 +59,12 @@ AutoTypeDlg::AutoTypeDlg(QList<IEntryHandle*> entries, QList<int> numbers){
entryList->resizeColumnToContents(0);
entryList->resizeColumnToContents(1);
entryList->resizeColumnToContents(2);
if (!hideUsernames)
entryList->resizeColumnToContents(2);
entryList->setColumnWidth(0, entryList->columnWidth(0)+10);
if (!hideUsernames)
entryList->setColumnWidth(1, entryList->columnWidth(1)+10);
connect(ButtonBox, SIGNAL(rejected()), SLOT(close()));
connect(entryList, SIGNAL(itemClicked(QTreeWidgetItem*,int)), SLOT(itemSelected(QTreeWidgetItem*)));
@ -77,6 +86,10 @@ void AutoTypeDlg::paintEvent(QPaintEvent* event){
painter.drawPixmap(QPoint(0,0),BannerPixmap);
}
void AutoTypeDlg::resizeEvent(QResizeEvent* event){
createBanner(&BannerPixmap,getPixmap("keepassx_large"),tr("Auto-Type"),width());
}
void AutoTypeDlg::itemSelected(QTreeWidgetItem* item){
close();
QString err;

@ -29,6 +29,7 @@ class AutoTypeDlg : public QWidget, private Ui::AutoTypeDlg
protected:
void paintEvent(QPaintEvent* event);
void resizeEvent(QResizeEvent* event);
private slots:
void itemSelected(QTreeWidgetItem* item);

@ -26,7 +26,6 @@
ManageBookmarksDlg::ManageBookmarksDlg(QWidget* parent):QDialog(parent)
{
setupUi(this);
createBanner(&BannerPixmap,getPixmap("bookmark"),tr("Manage Bookmarks"),width());
for(int i=0;i<KpxBookmarks::count();i++){
QListWidgetItem* item=new QListWidgetItem(ListWidget);
@ -55,7 +54,10 @@ void ManageBookmarksDlg::paintEvent(QPaintEvent *event){
painter.drawPixmap(QPoint(0,0),BannerPixmap);
}
void ManageBookmarksDlg::resizeEvent(QResizeEvent* event){
createBanner(&BannerPixmap,getPixmap("bookmark"),tr("Manage Bookmarks"),width());
QDialog::resizeEvent(event);
}
void ManageBookmarksDlg::OnButtonAdd(){
AddBookmarkDlg dlg(this);

@ -35,6 +35,7 @@ class ManageBookmarksDlg : public QDialog, private Ui::ManageBookmarksDlg
private:
QPixmap BannerPixmap;
virtual void paintEvent(QPaintEvent*);
virtual void resizeEvent(QResizeEvent*);
virtual void closeEvent(QCloseEvent* event);
private slots:
void OnButtonAdd();

@ -79,6 +79,7 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog)
CheckBox_StartMinimized->setChecked(config->startMinimized());
CheckBox_StartLocked->setChecked(config->startLocked());
checkBox_SaveFileDlgHistory->setChecked(config->saveFileDlgHistory());
CheckBox_AutoSave->setChecked(config->autoSave());
checkBox_AskBeforeDelete->setChecked(config->askBeforeDelete());
switch(config->groupTreeState()){
@ -211,6 +212,7 @@ void CSettingsDlg::apply(){
else config->setGroupTreeState(KpxConfig::DoNothing);
config->setOpenLastFile(CheckBox_OpenLast->isChecked());
config->setRememberLastKey(CheckBox_RememberLastKey->isChecked());
config->setAutoSave(CheckBox_AutoSave->isChecked());
config->setAskBeforeDelete(checkBox_AskBeforeDelete->isChecked());
//Appearence

@ -5,7 +5,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>502</width>
<width>439</width>
<height>300</height>
</rect>
</property>
@ -23,7 +23,7 @@
</property>
<property name="sizeHint" >
<size>
<width>481</width>
<width>1</width>
<height>50</height>
</size>
</property>
@ -50,21 +50,9 @@
<property name="allColumnsShowFocus" >
<bool>true</bool>
</property>
<column>
<property name="text" >
<string>Group</string>
</property>
</column>
<column>
<property name="text" >
<string>Title</string>
</property>
</column>
<column>
<property name="text" >
<string>Username</string>
</property>
</column>
<property name="columnCount" >
<number>0</number>
</property>
</widget>
</item>
<item>

@ -556,11 +556,15 @@
</widget>
<layoutdefault spacing="6" margin="11" />
<tabstops>
<tabstop>Combo_Group</tabstop>
<tabstop>Button_Icons</tabstop>
<tabstop>Edit_Title</tabstop>
<tabstop>Edit_UserName</tabstop>
<tabstop>Edit_URL</tabstop>
<tabstop>Edit_Password</tabstop>
<tabstop>ButtonEchoMode</tabstop>
<tabstop>Edit_Password_w</tabstop>
<tabstop>ButtonGenPw</tabstop>
<tabstop>Edit_Comment</tabstop>
<tabstop>DateTime_Expire</tabstop>
<tabstop>ButtonExpirePresets</tabstop>
@ -569,11 +573,7 @@
<tabstop>ButtonOpenAttachment</tabstop>
<tabstop>ButtonSaveAttachment</tabstop>
<tabstop>ButtonDeleteAttachment</tabstop>
<tabstop>ButtonEchoMode</tabstop>
<tabstop>ButtonGenPw</tabstop>
<tabstop>buttonBox</tabstop>
<tabstop>Combo_Group</tabstop>
<tabstop>Button_Icons</tabstop>
</tabstops>
<resources/>
<connections/>

@ -154,7 +154,7 @@
</widget>
<widget class="QMenu" name="menuBookmarks" >
<property name="title" >
<string>Bookmarks</string>
<string>&amp;Bookmarks</string>
</property>
</widget>
<addaction name="FileNewAction" />
@ -202,7 +202,7 @@
</property>
<widget class="QMenu" name="menuTool_Button_Sizes" >
<property name="title" >
<string>Toolbar Icon Size</string>
<string>&amp;Toolbar Icon Size</string>
</property>
<addaction name="ViewToolButtonSize16Action" />
<addaction name="ViewToolButtonSize22Action" />
@ -210,7 +210,7 @@
</widget>
<widget class="QMenu" name="menuColumns" >
<property name="title" >
<string>Columns</string>
<string>&amp;Columns</string>
</property>
<addaction name="ViewColumnsGroupAction" />
<addaction name="separator" />
@ -253,7 +253,7 @@
</widget>
<action name="ManageBookmarksAction" >
<property name="text" >
<string>Manage Bookmarks...</string>
<string>&amp;Manage Bookmarks...</string>
</property>
</action>
<action name="FileOpenAction" >
@ -366,7 +366,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Show Entry Details</string>
<string>Show &amp;Entry Details</string>
</property>
</action>
<action name="ViewHideUsernamesAction" >
@ -374,7 +374,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Hide Usernames</string>
<string>Hide &amp;Usernames</string>
</property>
</action>
<action name="ViewHidePasswordsAction" >
@ -382,7 +382,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Hide Passwords</string>
<string>Hide &amp;Passwords</string>
</property>
</action>
<action name="ViewColumnsTitleAction" >
@ -390,7 +390,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Title</string>
<string>&amp;Title</string>
</property>
</action>
<action name="ViewColumnsUsernameAction" >
@ -398,7 +398,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Username</string>
<string>User&amp;name</string>
</property>
</action>
<action name="ViewColumnsUrlAction" >
@ -406,7 +406,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>URL</string>
<string>&amp;URL</string>
</property>
</action>
<action name="ViewColumnsPasswordAction" >
@ -414,7 +414,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Password</string>
<string>&amp;Password</string>
</property>
</action>
<action name="ViewColumnsCommentAction" >
@ -422,7 +422,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Comment</string>
<string>&amp;Comment</string>
</property>
</action>
<action name="ViewColumnsExpireAction" >
@ -430,7 +430,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Expires</string>
<string>E&amp;xpires</string>
</property>
</action>
<action name="ViewColumnsCreationAction" >
@ -438,7 +438,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Creation</string>
<string>C&amp;reation</string>
</property>
</action>
<action name="ViewColumnsLastChangeAction" >
@ -446,7 +446,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Last Change</string>
<string>&amp;Last Change</string>
</property>
</action>
<action name="ViewColumnsLastAccessAction" >
@ -454,7 +454,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Last Access</string>
<string>Last &amp;Access</string>
</property>
</action>
<action name="ViewColumnsAttachmentAction" >
@ -462,7 +462,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Attachment</string>
<string>A&amp;ttachment</string>
</property>
</action>
<action name="ExtrasSettingsAction" >
@ -480,7 +480,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Show Statusbar</string>
<string>Show &amp;Statusbar</string>
</property>
</action>
<action name="HelpHandbookAction" >
@ -506,7 +506,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>16x16</string>
<string>&amp;16x16</string>
</property>
</action>
<action name="ViewToolButtonSize22Action" >
@ -514,7 +514,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>22x22</string>
<string>&amp;22x22</string>
</property>
</action>
<action name="ViewToolButtonSize28Action" >
@ -522,7 +522,7 @@
<bool>true</bool>
</property>
<property name="text" >
<string>28x28</string>
<string>2&amp;8x28</string>
</property>
</action>
<action name="FileNewKdbAction" >
@ -553,12 +553,12 @@
<bool>true</bool>
</property>
<property name="text" >
<string>Group (search results only)</string>
<string>&amp;Group (search results only)</string>
</property>
</action>
<action name="ExtrasShowExpiredEntriesAction" >
<property name="text" >
<string>Show Expired Entries...</string>
<string>Show &amp;Expired Entries...</string>
</property>
</action>
<action name="ExtrasTrashCanAction" >
@ -571,12 +571,12 @@
</action>
<action name="AddBookmarkAction" >
<property name="text" >
<string>Add Bookmark...</string>
<string>&amp;Add Bookmark...</string>
</property>
</action>
<action name="AddThisAsBookmarkAction" >
<property name="text" >
<string>Bookmark this Database...</string>
<string>Bookmark &amp;this Database...</string>
</property>
</action>
</widget>

@ -317,12 +317,13 @@
<layoutdefault spacing="6" margin="11" />
<tabstops>
<tabstop>Edit_Password</tabstop>
<tabstop>ButtonChangeEchoMode</tabstop>
<tabstop>Edit_PasswordRep</tabstop>
<tabstop>Combo_Dirs</tabstop>
<tabstop>ButtonBrowse</tabstop>
<tabstop>CheckBox_Both</tabstop>
<tabstop>ButtonBox</tabstop>
<tabstop>Button_Bookmarks</tabstop>
<tabstop>ButtonChangeEchoMode</tabstop>
</tabstops>
<resources/>
<connections/>

@ -10,9 +10,7 @@
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>4</hsizetype>
<vsizetype>4</vsizetype>
<sizepolicy vsizetype="Maximum" hsizetype="Maximum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -21,12 +19,21 @@
<string>Password Generator</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<property name="leftMargin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number>
</property>
<item>
<spacer>
<property name="orientation" >
@ -49,12 +56,21 @@
<string>Options</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<property name="leftMargin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number>
</property>
<item>
<widget class="QRadioButton" name="Radio_1" >
<property name="text" >
@ -67,12 +83,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<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>
<spacer>
<property name="orientation" >
@ -91,10 +116,22 @@
</item>
<item>
<layout class="QGridLayout" >
<property name="margin" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="spacing" >
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<property name="horizontalSpacing" >
<number>6</number>
</property>
<property name="verticalSpacing" >
<number>6</number>
</property>
<item row="1" column="0" >
@ -202,12 +239,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<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>
<spacer>
<property name="orientation" >
@ -251,12 +297,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<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="QLabel" name="textLabel1" >
<property name="text" >
@ -266,12 +321,12 @@
</item>
<item>
<widget class="QSpinBox" name="Spin_Num" >
<property name="maximum" >
<number>10000</number>
</property>
<property name="minimum" >
<number>1</number>
</property>
<property name="maximum" >
<number>10000</number>
</property>
<property name="value" >
<number>20</number>
</property>
@ -303,9 +358,7 @@
<item>
<widget class="QProgressBar" name="Progress_Quali" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>1</vsizetype>
<sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -331,12 +384,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<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="QCheckBox" name="Check_CollectEntropy" >
<property name="text" >
@ -393,12 +455,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<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="QLabel" name="textLabel4" >
<property name="text" >
@ -445,6 +516,7 @@
</widget>
<layoutdefault spacing="6" margin="11" />
<tabstops>
<tabstop>DialogButtons</tabstop>
<tabstop>Radio_1</tabstop>
<tabstop>checkBox1</tabstop>
<tabstop>checkBox2</tabstop>
@ -455,7 +527,9 @@
<tabstop>checkBox7</tabstop>
<tabstop>Radio_2</tabstop>
<tabstop>Edit_chars</tabstop>
<tabstop>Spin_Num</tabstop>
<tabstop>Check_CollectEntropy</tabstop>
<tabstop>Check_CollectOncePerSession</tabstop>
<tabstop>Edit_dest</tabstop>
<tabstop>ButtonGenerate</tabstop>
</tabstops>

@ -270,12 +270,14 @@
<tabstop>Edit_Search</tabstop>
<tabstop>checkBox_Cs</tabstop>
<tabstop>checkBox_regExp</tabstop>
<tabstop>checkBox_Recursive</tabstop>
<tabstop>checkBox_Title</tabstop>
<tabstop>checkBox_Username</tabstop>
<tabstop>checkBox_Password</tabstop>
<tabstop>checkBox_Comment</tabstop>
<tabstop>checkBox_URL</tabstop>
<tabstop>checkBox_Attachment</tabstop>
<tabstop>ButtonBox</tabstop>
</tabstops>
<resources/>
<connections/>

@ -299,6 +299,13 @@
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="CheckBox_AutoSave" >
<property name="text" >
<string>Automatically save database on exit</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_AskBeforeDelete" >
<property name="text" >
@ -1280,7 +1287,7 @@
<item>
<widget class="QCheckBox" name="CheckBox_EntryTitlesMatch" >
<property name="text" >
<string>Use entry titles to match the window for Global Auto-Type</string>
<string>Use entries' title to match the window for Global Auto-Type</string>
</property>
</widget>
</item>
@ -1352,6 +1359,11 @@
<tabstop>IntPlugin_Button_Config</tabstop>
<tabstop>SpinBox_AutoTypePreGap</tabstop>
<tabstop>SpinBox_AutoTypeKeyStrokeDelay</tabstop>
<tabstop>Box_BrowserCmd</tabstop>
<tabstop>Edit_BrowserCmd</tabstop>
<tabstop>Button_BrowserCmdBrowse</tabstop>
<tabstop>Edit_MountDir</tabstop>
<tabstop>Button_MountDirBrowse</tabstop>
<tabstop>CheckBox_SaveRelativePaths</tabstop>
<tabstop>Edit_GlobalShortcut</tabstop>
<tabstop>CheckBox_EntryTitlesMatch</tabstop>

@ -38,7 +38,7 @@
#include <QStatusBar>
#include "KpxFirefox.h"
//#include "KpxFirefox.h"
#include "lib/random.h"
#include "lib/AutoType.h"
#include "lib/FileDialogs.h"
@ -357,8 +357,9 @@ void KeepassMainWindow::setupMenus(){
_add_export(export_Txt);
_add_export(export_KeePassX_Xml);
//FileNewMenu->setShortcut(tr("Ctrl+N"));
FileNewAction->setShortcut(tr("Ctrl+N"));
FileOpenAction->setShortcut(tr("Ctrl+O"));
FileCloseAction->setShortcut(tr("Ctrl+W"));
FileSaveAction->setShortcut(tr("Ctrl+S"));
FileUnLockWorkspaceAction->setShortcut(tr("Ctrl+L"));
FileExitAction->setShortcut(tr("Ctrl+Q"));
@ -371,11 +372,12 @@ void KeepassMainWindow::setupMenus(){
EditDeleteEntryAction->setShortcut(tr("Ctrl+D"));
EditCloneEntryAction->setShortcut(tr("Ctrl+K"));
EditSearchAction->setShortcut(tr("Ctrl+F"));
ExtrasPasswordGenAction->setShortcut(tr("Ctrl+P"));
ExtrasShowExpiredEntriesAction->setShortcut(tr("Ctrl+X"));
#ifdef AUTOTYPE
EditAutoTypeAction->setShortcut(tr("Ctrl+V"));
#endif
#ifdef Q_WS_MAC
FileCloseAction->setShortcut(tr("Ctrl+W"));
FileSaveAsAction->setShortcut(tr("Shift+Ctrl+S"));
EditGroupSearchAction->setShortcut(tr("Shift+Ctrl+F"));
#endif
@ -471,11 +473,17 @@ bool KeepassMainWindow::closeDatabase(bool lock){
Q_ASSERT(FileOpen);
Q_ASSERT(db!=NULL);
if(ModFlag){
int r=QMessageBox::question(this,tr("Save modified file?"),
tr("The current file was modified. Do you want\nto save the changes?"),tr("Yes"),tr("No"),tr("Cancel"),2,2);
if(r==2)return false; //Abbrechen
if(r==0) //Ja (Datei speichern)
if(!OnFileSave())return false;
if(config->autoSave()){
if(!OnFileSave()) return false;
}
else{
QMessageBox::StandardButton r=QMessageBox::question(this,tr("Save modified file?"),
tr("The current file was modified. Do you want\nto save the changes?"),
QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel, QMessageBox::Yes);
if(r==QMessageBox::Cancel) return false; //Cancel
if(r==QMessageBox::Yes) //Yes (Save file)
if(!OnFileSave()) return false;
}
}
db->close();
delete db;

13
todo

@ -1,8 +1,5 @@
Database:
-need to change the interface of the generic Database class so that no direct references
or pointers to group or entry objects are used:
1. approach: CEntry e=getEntry( ...by any attrib...); //get a COPY
e.Title="Blubb";
setEntey(e);
2. approach: EntryID id=getEntryID(...by any attrib...); //get an ID (maybe the list index)
setEntryTitle(id,"Blubb");
Mass modify entries
Backup group (exclude from search)
Improve password generator
Manually select language
kde4 plugin: clear klipper history