diff --git a/INSTALL b/INSTALL index 2f765a2..60ba87b 100644 --- a/INSTALL +++ b/INSTALL @@ -3,6 +3,6 @@ Installation instructions for *nix: 1. qmake-qt4 / qmake You have to use qmake of Qt >= 4.2.0, depending on your distro it is called qmake or qmake-qt4. By default KeePassX is installed to /usr, you can change that by adding PREFIX=[PATH] to the qmake command. - You can also add RELEASE=1 to build KeePassX optimized. + You can also add DEBUG=1 to build KeePassX with debug symbols. 2. make 3. make install diff --git a/changelog b/changelog index 042b67c..a405b91 100644 --- a/changelog +++ b/changelog @@ -1,83 +1,18 @@ --------------- - 0.2.2.6 ---------------- --bookmarks and the Detail View are saved in the config file --fixed bug that caused unlock not to work when 'Remember last opened file' is disabled or the the search is used --loading default Detail View didn't work - ---------------- - 0.2.2.5 ---------------- --fixed critical bug that caused the database to be only opened/saved with the keyfile when keyfile and password were selected --fixed crash that could occur when locking a database that has unsaved changes --don't hide window to tray if a modal window is opened --auto-Type window is always on top and columns are automatically resized - ---------------- - 0.2.2.4 ---------------- --window is now minimized to tray even if the unlock dialog is shown --fixed problem when restoring window using the tray icon --support custom commands and placeholders in entry urls --improved custom browser selection in the settings dialog --all dialogs use the native button order --window title indicates if there are unsaved changes --improved many translation strings - ---------------- - 0.2.2.3 ---------------- --fixed a crash when the database is locked and KeePassX is restored --fixed KeePassX is not always properly minimized after auto-type --fixed global auto-type not working on non-ascii window titles --added a setting to optionally use entry titles to match window for global auto-type --added support for the delay command in auto-type --expired entries are not used for global auto-type --comparison of window titles is now always case-insensitive --fixed cmd option -help didn't work --output help on unrecognized argument --fixed typo in desktop file - ---------------- - 0.2.2.2 ---------------- --added support for multiple Auto-Type-Window definitions - fully compatible to KeePass (http://keepass.info/help/base/autotype.html#autoglobal) --added settings and command line options to start minimized and/or locked --fixed window not always hidden when using 'Minimize to tray instead of taskbar' --added pixmap and desktop file --fixed a bunch of compiler warnings - ---------------- - 0.2.2.1 ---------------- -Changes by Felix Geyer: --added Global Auto-Type feature --added database locking feature --saves the sort column and order of the entry view --added options 'Minimize to tray instead of taskbar', 'Lock workspace when minimizing the main window' and 'Global Auto-Type Shortcut' --fixed Auto-Type while still holding modifier keys (ctrl, shift, ...) and caps lock --fixed Auto-Type puts space at the beginning when using custom Auto-Type format --fixed auto-typing of some non-Latin1 chars --fixed crash when trying to auto-type invalid chars --left click on the tray icon brings the main window to front when it's not the active window, otherwise hides it --fixed a bunch of compiler warnings --disabled all not yet working features - -Official changes: --system tray icon --fine tuning options for auto-type --fully customizable HTML based detail view --secure random number generator based on Yarrow including an optional entropy collector --new dialog to view expiered entries --calendar widget to edit expiration dates in a more confortable way --restructured password generator --much better appearance under MacOS X --final program icon --misc. visual improvements --new more robust and flexible database back-end api --replaced old AES implementation by the latest version of Brian Gladman's implementation. --(maybe incomplete) + 0.3.0 +--------------- +- many bug fixes +- global Auto-Type +- fully customizable HTML based detail view +- better structured settings dialog +- secure random number generator based on ‘Yarrow‘ including an optional entropy collector +- new dialog to view expiered entries +- calendar widget to edit expiration dates in a more confortable way +- restructured password generator +- much better appearance under MacOS X +- fine tuning options for auto-type +- system tray icon +- workspace locking --------------- 0.2.2 diff --git a/share/applications/keepassx.desktop b/share/applications/keepassx.desktop index 3b0235b..46e438b 100644 --- a/share/applications/keepassx.desktop +++ b/share/applications/keepassx.desktop @@ -5,7 +5,7 @@ GenericName=Cross Platform Password Manager GenericName[fr]=Gestionnaire de mot de passe GenericName[de]=Passwortverwaltung Exec=keepassx -Icon=keepassx.xpm +Icon=keepassx Comment=Cross Platform Password Manager Comment[fr]=Gestionnaire de mot de passe Comment[de]=Passwortverwaltung diff --git a/share/ico/keepassx.ico b/share/win_ico/keepassx.ico similarity index 100% rename from share/ico/keepassx.ico rename to share/win_ico/keepassx.ico diff --git a/share/ico/keepassx.rc b/share/win_ico/keepassx.rc similarity index 100% rename from share/ico/keepassx.rc rename to share/win_ico/keepassx.rc diff --git a/src/dialogs/AboutDlg.cpp b/src/dialogs/AboutDlg.cpp index 3f22f78..be1c3cd 100644 --- a/src/dialogs/AboutDlg.cpp +++ b/src/dialogs/AboutDlg.cpp @@ -27,7 +27,6 @@ AboutDialog::AboutDialog(QWidget* parent):QDialog(parent) { setupUi(this); createBanner(&BannerPixmap,getPixmap("keepassx_large"),QString("%1 %2").arg(APP_DISPLAY_NAME, APP_VERSION),width()); - loadLicFromFile(); labelAppName->setText(APP_DISPLAY_NAME); labelAppFunc->setText(QString(" - ").append(APP_LONG_FUNC)); @@ -61,6 +60,15 @@ AboutDialog::AboutDialog(QWidget* parent):QDialog(parent) str+="Constantin Makshin
"+tr("Various fixes and improvements")+"
dinosaur-rus@users.sourceforge.net
"; Edit_Thanks->setHtml(str); + QFile gpl(DataDir+"/license.html"); + if (!gpl.open(QIODevice::ReadOnly)){ + QMessageBox::critical(this,tr("Error"),tr("File '%1' could not be found.") + .arg("'license.html'")+"\n"+tr("Make sure that the program is installed correctly.") + ,tr("OK"),0,0,2,1); + } + + Edit_License->setHtml(QString::fromUtf8(gpl.readAll())); + connect(ButtonBox, SIGNAL(accepted()), SLOT(close())); } @@ -70,31 +78,3 @@ void AboutDialog::paintEvent(QPaintEvent *event){ painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } - -void AboutDialog::loadLicFromFile(){ - QString filename; - filename = AppDir+"/../share/keepass/license.html"; - if (!QFile::exists(filename)){ - filename = AppDir+"/share/license.html"; - if (!QFile::exists(filename)){ - filename.clear(); - } - } - QFile gpl(filename); - if (filename.isEmpty() || !gpl.open(QIODevice::ReadOnly)){ - QMessageBox::critical(this,tr("Error"),tr("File '%1' could not be found.") - .arg("'license.html'")+"\n"+tr("Make sure that the program is installed correctly.") - ,tr("OK"),0,0,2,1); - } - - Edit_License->setHtml(QString::fromUtf8(gpl.readAll())); -} - -void AboutDialog::OnHomepageClicked(){ - openBrowser("http://www.keepassx.org/"); -} - -void AboutDialog::OnEMailClicked(){ - openBrowser("mailto:keepassx@gmail.com"); -} - diff --git a/src/dialogs/AboutDlg.h b/src/dialogs/AboutDlg.h index cc9b780..56c5847 100644 --- a/src/dialogs/AboutDlg.h +++ b/src/dialogs/AboutDlg.h @@ -33,13 +33,8 @@ class AboutDialog : public QDialog, public Ui_AboutDlg public: AboutDialog(QWidget* parent); - private slots: - void OnHomepageClicked(); - void OnEMailClicked(); - private: QPixmap BannerPixmap; - inline void loadLicFromFile(); virtual void paintEvent(QPaintEvent*); }; diff --git a/src/dialogs/SettingsDlg.cpp b/src/dialogs/SettingsDlg.cpp index 071c7aa..91f8dd2 100644 --- a/src/dialogs/SettingsDlg.cpp +++ b/src/dialogs/SettingsDlg.cpp @@ -63,6 +63,7 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog) #if !defined(GLOBAL_AUTOTYPE) Label_GlobalShortcut->setVisible(false); Edit_GlobalShortcut->setVisible(false); + CheckBox_EntryTitlesMatch->setVisible(false); #endif #ifdef GLOBAL_AUTOTYPE diff --git a/src/forms/PasswordGenDlg.ui b/src/forms/PasswordGenDlg.ui index 42926e3..93e125a 100644 --- a/src/forms/PasswordGenDlg.ui +++ b/src/forms/PasswordGenDlg.ui @@ -271,7 +271,7 @@ 10 - 20 + 1 @@ -285,18 +285,6 @@ - - - 0 - 0 - - - - - 16777215 - 16777215 - - 128 diff --git a/src/forms/SettingsDlg.ui b/src/forms/SettingsDlg.ui index 6b8adcc..c81a3e6 100644 --- a/src/forms/SettingsDlg.ui +++ b/src/forms/SettingsDlg.ui @@ -939,6 +939,66 @@ 6 + + + + Custom Browser Command + + + true + + + + + + + + + Browse + + + + + + + + + + + + Media Root: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + The directory where storage devices like CDs and memory sticks are normally mounted. + + + + + + + Browse... + + + + + + + + + Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. + + + Save relative paths (bookmarks and last file) + + + @@ -1013,66 +1073,6 @@ - - - - Custom Browser Command - - - true - - - - - - - - - Browse - - - - - - - - - - - - Media Root: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - The directory where storage devices like CDs and memory sticks are normally mounted. - - - - - - - Browse... - - - - - - - - - Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. - - - Save relative paths (bookmarks and last file) - - - @@ -1159,6 +1159,7 @@ CheckBox_StartLocked checkBox_SaveFileDlgHistory Button_ClearFileDlgHistory + CheckBox_AutoSave checkBox_AskBeforeDelete ButtonColor1 ButtonColor2 @@ -1177,14 +1178,14 @@ Radio_IntPlugin_Gnome Radio_IntPlugin_Kde IntPlugin_Button_Config - SpinBox_AutoTypePreGap - SpinBox_AutoTypeKeyStrokeDelay Box_BrowserCmd Edit_BrowserCmd Button_BrowserCmdBrowse Edit_MountDir Button_MountDirBrowse CheckBox_SaveRelativePaths + SpinBox_AutoTypePreGap + SpinBox_AutoTypeKeyStrokeDelay Edit_GlobalShortcut CheckBox_EntryTitlesMatch DialogButtons diff --git a/src/src.pro b/src/src.pro index 9310da8..43dfe9b 100644 --- a/src/src.pro +++ b/src/src.pro @@ -32,7 +32,7 @@ unix : !macx : !isEqual(QMAKE_WIN32,1) { } TARGET = ../bin/keepassx target.path = $${PREFIX}/bin - data.path = $${PREFIX}/share + data.path = $${PREFIX}/share/keepassx pixmaps.files = ../share/pixmaps/* pixmaps.path = $${PREFIX}/share/pixmaps desktop.files = ../share/applications/* @@ -48,7 +48,7 @@ unix : !macx : !isEqual(QMAKE_WIN32,1) { HEADERS += Application_X11.h } isEqual(BUILD_FOR_LSB,1) { - QMAKE_CXX = lsbcc + QMAKE_CXX = lsbcc } } @@ -60,7 +60,7 @@ macx { isEmpty(PREFIX):PREFIX = /Applications TARGET = ../bin/KeePassX target.path = $${PREFIX} - data.path = Contents/Resources + data.path = Contents/Resources/keepassx isEmpty(QT_FRAMEWORK_DIR) : QT_FRAMEWORK_DIR = /Library/Frameworks private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtCore.framework private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtGui.framework @@ -84,12 +84,17 @@ isEqual(QMAKE_WIN32,1) { TARGET = ../bin/KeePassX target.path = $${PREFIX} data.path = $${PREFIX}/share - RC_FILE = ../share/ico/keepassx.rc + !isEqual(INSTALL_QTLIB,0) { + qt_libs.files = $${QMAKE_LIBDIR_QT}/QtCore4.dll $${QMAKE_LIBDIR_QT}/QtGui4.dll $${QMAKE_LIBDIR_QT}/QtXml4.dll + qt_libs.path = $${PREFIX} + INSTALLS += qt_libs + } + RC_FILE = ../share/win_ico/keepassx.rc QMAKE_LINK_OBJECT_SCRIPT = $${OBJECTS_DIR}/$${QMAKE_LINK_OBJECT_SCRIPT} } -data.files += ../share/keepassx +data.files += ../share/keepassx/* INSTALLS += target data contains(DEFINES,GLOBAL_AUTOTYPE) {