From 8ec1eeefa41e22aa60c185b66b00feaf219d24f3 Mon Sep 17 00:00:00 2001 From: sniperbeamer Date: Sat, 20 Jun 2009 15:18:24 +0000 Subject: [PATCH] Merge 0.4 branch to trunk git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@319 b624d157-de02-0410-bad0-e51aec6abb33 --- share/keepassx/icons/go-home.png | Bin 0 -> 1332 bytes share/keepassx/icons/go-next.png | Bin 0 -> 1473 bytes share/keepassx/icons/go-previous.png | Bin 0 -> 1536 bytes share/keepassx/icons/help_about.png | Bin 0 -> 1491 bytes src/Application_X11.cpp | 10 +- src/CMakeLists.txt | 3 + src/Kdb3Database.cpp | 9 +- src/KpxConfig.h | 4 +- src/crypto/twofish.cpp | 2 +- src/dialogs/AboutDlg.cpp | 2 +- src/dialogs/HelpDlg.cpp | 11 + src/dialogs/HelpDlg.h | 15 + src/dialogs/SelectIconDlg.cpp | 12 +- src/dialogs/SettingsDlg.cpp | 3 - src/forms/AboutDlg.ui | 155 +- src/forms/HelpDlg.ui | 202 ++ src/forms/MainWindow.ui | 540 +++-- src/forms/SettingsDlg.ui | 832 +++---- src/keepassx.h | 3 +- src/lib/AutoTypeGlobalX11.cpp | 31 +- src/lib/AutoTypeGlobalX11.h | 3 + src/lib/AutoTypeX11.cpp | 19 +- src/lib/AutoTypeX11.h | 4 +- src/lib/EntryView.cpp | 20 +- src/lib/GroupView.cpp | 10 +- src/lib/GroupView.h | 1 + src/main.cpp | 2 +- src/mainwindow.cpp | 58 +- src/mainwindow.h | 5 +- src/res/docs/external.png | Bin 0 -> 165 bytes src/res/docs/faq.html | 49 + src/res/docs/features.html | 20 + src/res/docs/index.html | 82 + src/res/docs/installation.html | 50 + src/res/docs/quickstart.html | 233 ++ src/res/docs/systemreq.html | 46 + src/res/resources.qrc | 15 +- src/src.pro | 3 + src/translations/keepassx-es_ES.ts | 3203 ++++++++------------------ src/translations/keepassx-it_IT.ts | 172 +- 40 files changed, 2616 insertions(+), 3213 deletions(-) create mode 100644 share/keepassx/icons/go-home.png create mode 100644 share/keepassx/icons/go-next.png create mode 100644 share/keepassx/icons/go-previous.png create mode 100644 share/keepassx/icons/help_about.png create mode 100644 src/dialogs/HelpDlg.cpp create mode 100644 src/dialogs/HelpDlg.h create mode 100644 src/forms/HelpDlg.ui create mode 100644 src/res/docs/external.png create mode 100644 src/res/docs/faq.html create mode 100644 src/res/docs/features.html create mode 100644 src/res/docs/index.html create mode 100644 src/res/docs/installation.html create mode 100644 src/res/docs/quickstart.html create mode 100644 src/res/docs/systemreq.html diff --git a/share/keepassx/icons/go-home.png b/share/keepassx/icons/go-home.png new file mode 100644 index 0000000000000000000000000000000000000000..b16c19f2658b1a3090d7f2522bbaf3b78c8464fa GIT binary patch literal 1332 zcmV-41J9K;yiz8L*rTr_iunGiHcw#3Bfmc`(*h{i9QQ(^qEGQiS8 z>CxVuzy7$;*wRuu%;J;0dGFrlec$JO?)^1)jH;@*mtcwge+ksp*NOFwb>clCP*YbU z0;&K&@Do9dh-n9`HCA!v&WymSELe^OZ{(4Xu+26&@TK^l6R=nhi1V|vf+{P%!-t>O zu`G-8=RcKrlaY^4h_?+54p9?rBSP@tVC-|3%t^b-rI{lp1*xT2yWM2oD93}k0!;`OdBj1UqY z$+Nj*_~gEQB3URQF(DqWwYOvUo;`>K#0?1)6q`la>lM`&gl%i(RTg&t72FJg=VuTc_bktH5EPGUC7(D3tIuZ z-HwiqlbEvq1>R_|{WvlbAVCOFd#<`#G?$jCk35eJ6WD{6fMOK38gKwxXEe_6=P&c>a&Icy~uj>GX+TXOmbFWE@1@H_C~NAIakFSa2Z zF1~*R!5}p>Q&4^U9Kzx3#~eu4VFx6k3RRD|H*3yl$T zN$rjQ2RI^CI$1)6Omy_E?}*pfca_mNUDhmMM+#uzK(QhNybe$lIbtrU9R&eR0iq_B zy`;Dg6y%=96-9x8WF;8^P7_mBDH-}(q+D(j3Xo(4pLCTH*%*=tIu(i2DdRXGYa7-k zWSP}#M?e9b?JOaA%vyfb3a~7vv1MTCxeS*F6qnyET~i>@sKfmU47@TZ^c=9{RWUDX z3aG%rH?9Qd(%K>YLKR@ODOR7YdxaEV0llYjS%yK!!dJwRrix}>T8gL>F_+YiS^;{j zF7=flfWQt&K7hUEK|If`P2p4N4us1MtAH+?0&VYni*-P!lw?9e0espL=ve>63RNdU zZgdK8ngZdV_?r{+OYD`^)ffjX`;;{W!hwrM0aiN&>w&zG;;Y-Y@OhzvULF9au2$dx z9tx~eW3ZC^q@*NJgx22peZXq9s0M=p$tlUiQmFUeQ)OmmVgGXmk+A*22auAI1h;z$ z%WgN^OYXomvCl3HGO>Oc(dHXra$;)pA0`aLKqJFw#s>M|ID$NtF~}>_2TTc$6DV{C qG!hCe7F0N>xf)6$v}xGuP{Ti^zQX7!T&w~B0000lWjE>obx@^XPW9K&fEOrq7G_VIumIdU zKJJ;dj}1l#Alx*vj*DE*Mb`B(bH+nhxn%mdp((41M3hf>ZlgJ{0=zCt?!k44t_O$K z!-f}O<*PHTlF1`iDZwkr8)F7m044W4A0BnU^@tRGAu#)?hfy|r^0b1uabnW*Tj$)a z0PXUSHx%G!Nq|oR0!?2>O)YH9=wd9HJ7wtjQOVtt=6|)0gyi4UTTya+x~1Ys)v872S)6*!O~xkGE0qKnm^eWdp*L{R#CFG^ii?YVXwtZA+j0t@Q5m(|@=z=N|^ zsCQSCq9f~p6m$~|iV+b}MMqe#4%nidSxgkgjlo3T31q6wp1!^y3aH=8wJp)@@ zzkOlb^-ZV*y0R{rDx4`N3i!T25XguMoKxf!g(j_gD0}wlGk(DJGqg8c4`W9dczjA~ zP9o1ZIdT4$>F5Ou5f~&gSqEGiP#~%(hVLd(g=An%5g8QFyY&$zgdlQVJw*P_JPhBM5bw4CM;7yarZr`?(C$w43(7a*$O|A`0$^SKQK|uk6 z#8BZ$`vWF|_xlN;U3w!O)DN=k7*%f(ZP=C;pyyBQHG4sy1tLqpBtd4BJW8yqPNWiO z>u@gyf|p&ce7g#SeggDdi3ST>Zt1IN6Jxes>n^aU14{K&AAJTOm5jPXjIL~6K^)Gt z46d|v>`*Y4G*zv>*6$XaY|WXkEnkJSN}?b?g~UCDNET8|CXpA9BOZ^ziaH=&4yC_v zv`pbGmxUPVy z_vXp(lzQ}=HOp}$&9HRwf%Kw<$X@cp)n8w zl+k^s6=TTQ68kH6qIU0|6F}0a!52Zn@G5PAPRn#=?(?|LVJLQZ8RL}bZFctU zz2}^@_TFosJ4d5ieEok2tliohnm4mBZ0PLJlEyN7(g;+o{D?SF>&df`x5^8uv)Xt4 z)XO=at0+qP2~;fKp5xl_cf!TN$66nqO|IWhy?saTA)1%|5>zaEyOCV;yDM=u4F+BvTR(Cf0G~V94XnOwis%ez4ZBk$o78fTjQ}0^Q zf0qD&{RnYOX(+H}>3z3ThEJujSVDr~5BNy}T;8GtHzt5=$qAUxZ%UwQRc9?D{z+3^ zer?_KTugSzG$A*Ik;2#n0+(5Mc8qdoJj@l%M@;t<)BL2s6XuZT(j(7rqq+5!2SKDk z1fg9gYO&awoJ_W5{_H$|&J>+uag$V4CB}py-NF=>qIgcPy}6mV=aI)@F3fY`U2na1JsUm8HfK94K@Cq?uoC_io2#7L_j9CEn z#z7qi-m&3f&UGwZs6|tQ9KaS9(Mj`=Doqi+E)}mzFogh* z1^=o8E~9rb9{2=&0DIDG3ue3I(-{W36Ge#L7XIa&3~NJmAu&UxOF0ct6v8yQ$g z0%Jh3=D1}5XW}^wFRs{lGvZy+dmv7gR*=YjYSa@%Gp0SLI?Vei1#T39Bc8( zA!n1$osF^K6KZC_Pq}%y6buGwN)AyLhG{xUFb!%nG>v>2I_bI&ZJ;ZXWpF{jM!2S+ zfwZ5Gj8Xqk1OzTp3@n6cVj)V&z#qHTIdCr(FKpZG3l?^&idk}DI7)F-sM@8>EQbP_ z?j;L2cV!NMS@Is0Nhv|f)!(yu zIMn#u%7HUuPX_a{w-%O^W-%se%|Jx99XykU1rhxv5^{`*wHXLNu&(04d*lhxs~*fH z2nX+7Dl0FhzQf0>JX?7U>GsE3x=lUQ@EnEw~Wee{xLe&_rcM;x+j``Jb3Vx!tlWQ+SyGE zyPVikr8(#v+p;AQ`6a|^CTbt~{eW`4HD3VPO(e(vy|3YgA9mVs8yu_UtMg}0bj(@s zU{R63f^6GC+9f#Z?MM-N21B$rUa}42+WyJ!fsvoT*vqRH*X{eP^Zn|E#+Leq2Z) ze@I`Y)`|#v=^=U$K>}I!B?|E+2qEbqOhu$ZQ0SqgRwz`|6fxT%Yqk8F?jPOzXYM_x zIlJTRc<=1G`r;S9oH=vO`ToA=oSE~R5o;|E5{d^5k9&Z0e!Ucte6@#3Vp3Zmo!_j-stt%Nb9LX-%$uHLerpbg^VdsUxLzbMPD?=KB-U=> zi6gshSC_eO1M>Q}ZHR0`)T*YO&zfbkSTMVhST2$vKbu*y*^Z?7*xl^UQ3?6CyU!KU`t=k*i!B2!_GDVz;k6bXNoN_WnmO`eakyZ+>(692#?8Eb34( zhQ+hM8n)X&Q8LtV?ZkzZVIQLv9qB~YD zoR05#E~w)jqA1PrzXqtquYV6Ao_2le=xfc&wrL=GmArp!{rCoyx3OhvhN-!Xn{}#K z1;w7DSKNaZ4-2Z6oxfbfDu1+J>9%3G8Q72})bwd-%z&s3sn3ACd$1!^_-WDHDa>oh zM*ApcV}*Z*MJxAza(GLc-)2lfHRj%VC*vcY5R#gPeSol zDJ3-JGtPZHzTSu(t?MlNdy6C2qH z#z{e_nkt22scv=-xm*_Q>7>cjN#wJho8aP0=w`1g~i zNW+{>C&)EUso5@KR193bRiRLE_tk=W14`%Iz(Q5HFi;`uYjPQlR%1(9t}rg#$y+Vg znii@y)C>&8s@r-6N^nUm%|Q0HdxJ1saWo^xtQOa75osX%!7*$lp!C_ZB;jUO4kXSC zW+XTvtrK^;5eXs16a(rK$m4e`pA(6Ms7Cj_e0V)fElS4qiS|0FA<25&UPv+EodrSz zH6lJ5nO85@)yJf;YB z5an1CuvR0kAFMNAw=Oz?=;NaTDt25i=%`ayU~&`iPTH;+J?XhX>#Yfqd)k87bowf| zGFmyaW!z+BKYnbNTb|KiDXU9Pmgx_jaek`MoBL)oJs zO?6LmVGz5ejfo(e{)GHAQqYf8?Y66>Z^Hiq`_bH9lwONc!?j!Bd5XJXT7%%%cN@mC z&IOH(iLAI;Iul`V&?4@*4Nbs*1>*vbr1R((;b3_2p6zPw zz3(3r=|&;fIzep&+kQK-DjB87Shh1`QpXXy)oyOxb>DwR>1M8WAhIgt3M_3vE@U>O z%OhvOo<_``aJf(1*RPp~D8P^CB}zw~po%Dr!3mj&)dVXMgG3pGaZQ|zB!m-;>X}4v t$4m+v67AvwMZ)D21~o>FqYLRw{0|WnKq`oGUsV7A002ovPDHLkV1kE^!qxx) literal 0 HcmV?d00001 diff --git a/src/Application_X11.cpp b/src/Application_X11.cpp index 12a4ad5..18a50b8 100644 --- a/src/Application_X11.cpp +++ b/src/Application_X11.cpp @@ -29,6 +29,7 @@ bool KeepassApplication::x11EventFilter(XEvent* event){ if (autoType == NULL) return QApplication::x11EventFilter(event); +#ifdef GLOBAL_AUTOTYPE if (remove_invalid == 0) { AutoTypeGlobalX11* autoTypeGlobal = static_cast(autoType); remove_invalid = ControlMask | ShiftMask | autoTypeGlobal->maskAlt() | @@ -44,7 +45,12 @@ bool KeepassApplication::x11EventFilter(XEvent* event){ autoType->performGlobal(); return true; } - else{ - return QApplication::x11EventFilter(event); +#endif + + if (event->type == MappingNotify) { + dynamic_cast(autoType)->updateKeymap(); + remove_invalid = 0; } + + return QApplication::x11EventFilter(event); } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b7ce815..243e3bd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,6 +20,7 @@ SET(keepassx_HEADERS dialogs/EditEntryDlg.h dialogs/EditGroupDlg.h dialogs/ExpiredEntriesDlg.h + dialogs/HelpDlg.h dialogs/ManageBookmarksDlg.h dialogs/PasswordDlg.h dialogs/PasswordGenDlg.h @@ -76,6 +77,7 @@ SET(keepassx_SOURCES dialogs/EditEntryDlg.cpp dialogs/EditGroupDlg.cpp dialogs/ExpiredEntriesDlg.cpp + dialogs/HelpDlg.cpp dialogs/ManageBookmarksDlg.cpp dialogs/PasswordDlg.cpp dialogs/PasswordGenDlg.cpp @@ -104,6 +106,7 @@ SET(keepassx_FORMS forms/EditEntryDlg.ui forms/EditGroupDlg.ui forms/ExpiredEntriesDlg.ui + forms/HelpDlg.ui forms/MainWindow.ui forms/ManageBookmarksDlg.ui forms/PasswordDlg.ui diff --git a/src/Kdb3Database.cpp b/src/Kdb3Database.cpp index 63039c8..f7f8fc1 100644 --- a/src/Kdb3Database.cpp +++ b/src/Kdb3Database.cpp @@ -21,6 +21,7 @@ #include "crypto/twoclass.h" #include +#include #define UNEXP_ERROR error=QString("Unexpected error in: %1, Line:%2").arg(__FILE__).arg(__LINE__); @@ -595,12 +596,16 @@ bool Kdb3Database::loadReal(QString filename, bool readOnly, bool differentEncod else if(Algorithm == Twofish_Cipher){ CTwofish twofish; if (twofish.init(FinalKey, 32, EncryptionIV) != true){ - error=tr("Unable to initalize the twofish algorithm."); + error=tr("Unable to initialize the twofish algorithm."); LOAD_RETURN_CLEANUP } crypto_size = (unsigned long)twofish.padDecrypt((quint8 *)buffer + DB_HEADER_SIZE, total_size - DB_HEADER_SIZE, (quint8 *)buffer + DB_HEADER_SIZE); } + else{ + error=tr("Unknown encryption algorithm."); + LOAD_RETURN_CLEANUP + } if ((crypto_size > 2147483446) || (!crypto_size && NumGroups)){ error=tr("Decryption failed.\nThe key is wrong or the file is damaged."); @@ -1972,7 +1977,7 @@ int KeyTransformBenchmark::benchmark(int pMSecs){ ktbRight->start(); ktbLeft->wait(); ktbRight->wait(); - int num = ktbLeft->rounds + ktbRight->rounds; + int num = std::min(ktbLeft->rounds, ktbRight->rounds); delete ktbLeft; delete ktbRight; diff --git a/src/KpxConfig.h b/src/KpxConfig.h index c252410..f175162 100644 --- a/src/KpxConfig.h +++ b/src/KpxConfig.h @@ -64,7 +64,6 @@ public: QString lastKeyLocation(){return settings.value("Options/LastKeyLocation").toString();} tKeyType lastKeyType(){return stringToKeyType(settings.value("Options/LastKeyType").toString());} QByteArray mainWindowGeometry(); - bool minimizeToTray(){return settings.value("Options/MinimizeToTray",false).toBool();} bool minimizeTray(){return settings.value("Options/MinimizeTray",false).toBool();} bool startMinimized(){return settings.value("Options/StartMinimized",false).toBool();} bool startLocked(){return settings.value("Options/StartLocked",false).toBool();} @@ -101,7 +100,7 @@ public: bool askBeforeDelete(){return settings.value("Options/AskBeforeDelete",true).toBool();} #ifdef AUTOTYPE int autoTypePreGap(){return settings.value("Options/AutoTypePreGap",500).toInt();} - int autoTypeKeyStrokeDelay(){return settings.value("Options/AutoTypeKeyStrokeDelay",0).toInt();} + int autoTypeKeyStrokeDelay(){return settings.value("Options/AutoTypeKeyStrokeDelay",5).toInt();} #endif #ifdef GLOBAL_AUTOTYPE Shortcut globalShortcut(); @@ -131,7 +130,6 @@ public: void setLastKeyLocation(const QString& value){settings.setValue("Options/LastKeyLocation",value);} void setLastKeyType(tKeyType value){settings.setValue("Options/LastKeyType",keyTypeToString(value));} void setMainWindowGeometry(const QByteArray& value){settings.setValue("UI/MainWindowGeometry",value);} - void setMinimizeToTray(bool value){settings.setValue("Options/MinimizeToTray",value);} void setMinimizeTray(bool value){settings.setValue("Options/MinimizeTray",value);} void setStartMinimized(bool value){settings.setValue("Options/StartMinimized",value);} void setStartLocked(bool value){settings.setValue("Options/StartLocked",value);} diff --git a/src/crypto/twofish.cpp b/src/crypto/twofish.cpp index e00de28..07c9a05 100644 --- a/src/crypto/twofish.cpp +++ b/src/crypto/twofish.cpp @@ -1362,7 +1362,7 @@ void Twofish_prepare_key( Twofish_Byte key[], int key_len, Twofish_key * xkey ) * To stop such security disasters, we use blunt force. * If your program hangs here: fix the fatal routine! */ - for(;;); /* Infinite loop, which beats being insecure. */ + for(;;) ; /* Infinite loop, which beats being insecure. */ } /* Check for valid key length. */ diff --git a/src/dialogs/AboutDlg.cpp b/src/dialogs/AboutDlg.cpp index 9d0771d..87f8541 100644 --- a/src/dialogs/AboutDlg.cpp +++ b/src/dialogs/AboutDlg.cpp @@ -71,7 +71,7 @@ AboutDialog::AboutDialog(QWidget* parent):QDialog(parent) Edit_License->setHtml(QString::fromUtf8(gpl.readAll())); - connect(ButtonBox, SIGNAL(accepted()), SLOT(close())); + connect(ButtonBox, SIGNAL(rejected()), SLOT(close())); } void AboutDialog::paintEvent(QPaintEvent *event){ diff --git a/src/dialogs/HelpDlg.cpp b/src/dialogs/HelpDlg.cpp new file mode 100644 index 0000000..ba8f029 --- /dev/null +++ b/src/dialogs/HelpDlg.cpp @@ -0,0 +1,11 @@ + +#include "HelpDlg.h" + +HelpDlg::HelpDlg(QWidget* parent) : QDialog(parent) { + setupUi(this); + textBrowser->setSource(QUrl("qrc:/docs/index.html")); + buttonPrevious->setIcon(getIcon("go-previous")); + buttonNext->setIcon(getIcon("go-next")); + buttonFirst->setIcon(getIcon("go-home")); + showMaximized(); +} diff --git a/src/dialogs/HelpDlg.h b/src/dialogs/HelpDlg.h new file mode 100644 index 0000000..4f600af --- /dev/null +++ b/src/dialogs/HelpDlg.h @@ -0,0 +1,15 @@ + +#ifndef HELPDLG_H +#define HELPDLG_H + +#include "ui_HelpDlg.h" + +class HelpDlg : public QDialog, private Ui_HelpDlg +{ + Q_OBJECT + + public: + HelpDlg(QWidget* parent); +}; + +#endif // HELPDLG_H diff --git a/src/dialogs/SelectIconDlg.cpp b/src/dialogs/SelectIconDlg.cpp index ab216cb..67f18db 100644 --- a/src/dialogs/SelectIconDlg.cpp +++ b/src/dialogs/SelectIconDlg.cpp @@ -41,13 +41,17 @@ CSelectIconDlg::CSelectIconDlg(IDatabase* database,int CurrentId,QWidget* parent void CSelectIconDlg::updateView(){ List->clear(); for(int i=0; inumIcons(); i++){ - QListWidgetItem* item; + QListWidgetItem* item = NULL; if(iaddItem(item=new QListWidgetItem(QIcon(db->icon(i)),QString::number(i))); + item = new QListWidgetItem(QIcon(db->icon(i)),QString::number(i)); else if(!db->icon(i).isNull()) - List->addItem(item=new QListWidgetItem(QIcon(db->icon(i)),"["+QString::number(i)+"]")); - item->setData(32,i); + item = new QListWidgetItem(QIcon(db->icon(i)),"["+QString::number(i)+"]"); + + if (item) { + item->setData(32,i); + List->addItem(item); + } } } diff --git a/src/dialogs/SettingsDlg.cpp b/src/dialogs/SettingsDlg.cpp index a8d59a4..c0e3b37 100644 --- a/src/dialogs/SettingsDlg.cpp +++ b/src/dialogs/SettingsDlg.cpp @@ -34,7 +34,6 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog) connect(DialogButtons, SIGNAL( rejected() ), this, SLOT( OnCancel() ) ); connect(DialogButtons, SIGNAL( clicked(QAbstractButton*)), this, SLOT(OnOtherButton(QAbstractButton*))); - connect(CheckBox_ShowSysTrayIcon, SIGNAL( toggled(bool) ), CheckBox_CloseToTray, SLOT( setEnabled(bool) ) ); connect(CheckBox_ShowSysTrayIcon, SIGNAL( toggled(bool) ), CheckBox_MinimizeTray, SLOT( setEnabled(bool) ) ); connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_RememberLastKey, SLOT( setEnabled(bool) ) ); connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_StartMinimized, SLOT( setEnabled(bool) ) ); @@ -82,7 +81,6 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog) CheckBox_OpenLast->setChecked(config->openLastFile()); CheckBox_RememberLastKey->setChecked(config->rememberLastKey()); CheckBox_ShowSysTrayIcon->setChecked(config->showSysTrayIcon()); - CheckBox_CloseToTray->setChecked(config->minimizeToTray()); CheckBox_MinimizeTray->setChecked(config->minimizeTray()); CheckBox_StartMinimized->setChecked(config->startMinimized()); CheckBox_StartLocked->setChecked(config->startLocked()); @@ -235,7 +233,6 @@ void CSettingsDlg::apply(){ //General (1) config->setShowSysTrayIcon(CheckBox_ShowSysTrayIcon->isChecked()); - config->setMinimizeToTray(CheckBox_CloseToTray->isChecked()); config->setMinimizeTray(CheckBox_MinimizeTray->isChecked()); config->setStartMinimized(CheckBox_StartMinimized->isChecked()); config->setStartLocked(CheckBox_StartLocked->isChecked()); diff --git a/src/forms/AboutDlg.ui b/src/forms/AboutDlg.ui index 2ffe812..5887917 100644 --- a/src/forms/AboutDlg.ui +++ b/src/forms/AboutDlg.ui @@ -1,7 +1,8 @@ - + + AboutDlg - - + + 0 0 @@ -9,22 +10,22 @@ 305 - + About - - + + 6 - + Qt::Vertical - + QSizePolicy::Fixed - + 20 50 @@ -33,65 +34,57 @@ - - + + 0 - - - - 0 - 0 - 397 - 171 - - - + + About - - + + 6 - + - - - + + + 0 0 - + 12 75 true - + AppName - - - + + + 0 0 - + 9 - + AppFunc - + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -99,19 +92,19 @@ - - + + 6 - + Qt::Horizontal - + QSizePolicy::Fixed - + 10 20 @@ -120,24 +113,24 @@ - + - - + + http://keepassx.sourceforge.net - - + + keepassx@gmail.com - - + + Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. @@ -150,75 +143,51 @@ General Public License (GPL) version 2. - - - - 0 - 0 - 397 - 171 - - - + + Credits - - + + 6 - - + + true - - - - 0 - 0 - 397 - 171 - - - + + Translation - - + + 6 - - + + true - - - - 0 - 0 - 397 - 171 - - - + + License - - + + 6 - - + + true @@ -228,15 +197,15 @@ General Public License (GPL) version 2. - - - QDialogButtonBox::Ok + + + QDialogButtonBox::Close - + LinkLabel diff --git a/src/forms/HelpDlg.ui b/src/forms/HelpDlg.ui new file mode 100644 index 0000000..f7a547d --- /dev/null +++ b/src/forms/HelpDlg.ui @@ -0,0 +1,202 @@ + + + HelpDlg + + + + 0 + 0 + 400 + 300 + + + + Help Contents - KeePassX + + + + + + + + Previous Page + + + Previous Page + + + + + + + Next Page + + + Next Page + + + + + + + First Page + + + First Page + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + true + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close + + + + + + + textBrowser + buttonBox + + + + + buttonBox + accepted() + HelpDlg + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + HelpDlg + reject() + + + 316 + 260 + + + 286 + 274 + + + + + buttonPrevious + clicked() + textBrowser + backward() + + + 64 + 17 + + + 199 + 150 + + + + + buttonNext + clicked() + textBrowser + forward() + + + 176 + 17 + + + 199 + 150 + + + + + buttonFirst + clicked() + textBrowser + home() + + + 274 + 17 + + + 199 + 150 + + + + + textBrowser + backwardAvailable(bool) + buttonPrevious + setEnabled(bool) + + + 199 + 150 + + + 64 + 17 + + + + + textBrowser + forwardAvailable(bool) + buttonNext + setEnabled(bool) + + + 199 + 150 + + + 176 + 17 + + + + + diff --git a/src/forms/MainWindow.ui b/src/forms/MainWindow.ui index d22fc48..a2136a4 100644 --- a/src/forms/MainWindow.ui +++ b/src/forms/MainWindow.ui @@ -1,8 +1,9 @@ - + + Tarek Saidi MainWindow - - + + 0 0 @@ -10,102 +11,94 @@ 468 - + true - + KeePassX - - - - 0 - 29 - 724 - 439 - - - + + - - + + Qt::Horizontal - - + + false - - + + 30 0 - + true - + true - + false - + Groups - - - + + + 70 0 - + Qt::Vertical - - + + false - - + + 0 70 - + QAbstractItemView::ExtendedSelection - + false - + true - - + + false - - + + 0 30 - + 0 30 - + true - + false @@ -114,483 +107,480 @@ - - + + 0 0 724 - 29 + 24 - - + + &Help - - - + + + - - + + &File - - + + &Export to... - - + + &Import from... - - + + &Bookmarks - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + &Entries - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + &View - - + + Toolbar &Icon Size - - - + + + - - + + &Columns - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + E&xtras - - - - - + + + + + - - + + &Groups - - - - - + + + + + - - - - - - + + + + + + - - + + &Manage Bookmarks... - - + + &Open Database... - - + + &Close Database - - + + &Save Database - - + + Save Database &As... - - + + &Database Settings... - - + + Change &Master Key... - - + + &Lock Workspace - - + + &Quit - + QAction::QuitRole - - + + &Add New Subgroup... - - + + &Edit Group... - - + + &Delete Group - - + + Copy Password &to Clipboard - - + + Copy &Username to Clipboard - - + + &Open URL - - + + &Save Attachment As... - - + + Add &New Entry... - - + + &View/Edit Entry... - - + + De&lete Entry - - + + &Clone Entry - - + + Search &in Database... - - + + Search in this &Group... - - + + true - + Show &Entry Details - - + + true - + Hide &Usernames - - + + true - + Hide &Passwords - - + + true - + &Title - - + + true - + User&name - - + + true - + &URL - - + + true - + &Password - - + + true - + &Comment - - + + true - + E&xpires - - + + true - + C&reation - - + + true - + &Last Change - - + + true - + Last &Access - - + + true - + A&ttachment - - + + &Settings... - + QAction::PreferencesRole - - + + &About... - + QAction::AboutRole - - + + true - + Show &Statusbar - - + + &KeePassX Handbook... - - false - - - + + Hide - - + + &Perform AutoType - - + + true - + &16x16 - - + + true - + &22x22 - - + + true - + 2&8x28 - - + + &New Database... - - + + &Password Generator... - - + + true - + true - + &Group (search results only) - - + + Show &Expired Entries... - - + + Recycle Bin... - + false - - + + &Add Bookmark... - - + + Bookmark &this Database... - - + + Copy URL to Clipboard - - + + Add New Group... - - + + Sort groups diff --git a/src/forms/SettingsDlg.ui b/src/forms/SettingsDlg.ui index 945d993..d84b4cc 100644 --- a/src/forms/SettingsDlg.ui +++ b/src/forms/SettingsDlg.ui @@ -1,7 +1,8 @@ - + + SettingsDialog - - + + 0 0 @@ -9,25 +10,25 @@ 440 - + Settings - + true - - + + 6 - + Qt::Vertical - + QSizePolicy::Fixed - + 20 50 @@ -36,28 +37,28 @@ - + - - - + + + 0 0 - + 120 16777215 - + 10 - - QListView { + + QListView { show-decoration-selected: 1; } @@ -66,74 +67,66 @@ QListView::item { margin-bottom: 2px; } - + QAbstractItemView::SelectRows - + General (1) - + General (2) - + Appearance - + Language - + Security - + Advanced - - + + 0 - - - - 0 - 0 - 521 - 331 - - - + + - - + + Show system tray icon - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 25 10 @@ -142,11 +135,11 @@ QListView::item { - - + + false - + Minimize to tray instead of taskbar @@ -154,55 +147,25 @@ QListView::item { - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 25 - 10 - - - - - - - - false - - - Minimize to tray when clicking the main window's close button - - - - - - - + - - + + Remember last opened file - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 25 10 @@ -211,11 +174,11 @@ QListView::item { - - + + false - + Remember last key type and location @@ -223,16 +186,16 @@ QListView::item { - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 25 10 @@ -241,11 +204,11 @@ QListView::item { - - + + false - + Start minimized @@ -253,16 +216,16 @@ QListView::item { - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 25 10 @@ -271,11 +234,11 @@ QListView::item { - - + + false - + Start locked @@ -285,26 +248,26 @@ QListView::item { - - + + 6 - - + + Save recent directories of file dialogs - + Qt::Horizontal - + QSizePolicy::Fixed - + 10 20 @@ -313,18 +276,18 @@ QListView::item { - - + + Clear History Now - + Qt::Horizontal - + 40 20 @@ -335,18 +298,18 @@ QListView::item { - - + + Always ask before deleting entries or groups - + Qt::Vertical - + 1 1 @@ -356,34 +319,26 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - - + + Save backups of modified entries into the 'Backup' group - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 25 10 @@ -392,37 +347,37 @@ QListView::item { - - + + false - + Delete backup entries older than: - - + + false - - + + 0 0 - + 1 - + 999 - - + + days @@ -430,25 +385,25 @@ QListView::item { - - + + Automatically save database on exit and workspace locking - - + + Automatically save database after every change - - + + Qt::Vertical - + 1 1 @@ -458,46 +413,38 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - - + + Banner Color - - + + 6 - - + + 6 - - - + + + Text Color: - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 40 20 @@ -505,191 +452,191 @@ QListView::item { - - - - + + + + 0 0 - + 0 23 - + 16777215 23 - + Change... - - - - + + + + 0 0 - + Color 2: - - - - + + + + 0 0 - + 23 23 - + 23 23 - + - - - - + + + + 0 0 - + 23 23 - + 23 23 - + true - - - - + + + + 0 0 - + 0 23 - + 16777215 23 - + Change... - - - - + + + + 0 0 - + 23 23 - + 23 23 - + true - - - - + + + + 0 0 - + 0 23 - + 16777215 23 - + C&hange... - - - - + + + + 0 0 - + Color 1: - + - + Qt::Horizontal - + QSizePolicy::Minimum - + 40 20 @@ -703,30 +650,30 @@ QListView::item { - - + + Alternating Row Colors - - + + 6 - - + + Customize Entry Detail View... - + Qt::Horizontal - + 40 20 @@ -737,36 +684,36 @@ QListView::item { - + - - + + 6 - - - + + + Group tree at start-up: - - - + + + Restore last state - - - + + + Expand all items - - - + + + Do not expand any item @@ -775,10 +722,10 @@ QListView::item { - + Qt::Horizontal - + 40 20 @@ -789,11 +736,11 @@ QListView::item { - - + + Qt::Vertical - + 1 1 @@ -803,31 +750,23 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - + - - + + QAbstractItemView::SelectRows - - + + Qt::Horizontal - + 40 20 @@ -838,41 +777,41 @@ QListView::item { - - - - + + + + Language: - - - + + + Author: - - - + + + - - - + + + - - - + + + Qt::Horizontal - + 40 20 @@ -883,11 +822,11 @@ QListView::item { - - + + Qt::Vertical - + 1 1 @@ -897,41 +836,33 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - - - + + + 0 0 - + Show plain text passwords in: - - + + 0 - - + + Edit Entry Dialog - - + + Database Key Dialog @@ -940,48 +871,48 @@ QListView::item { - - + + 6 - - - + + + 0 0 - + Clear clipboard after: - - - + + + 0 0 - + 80 16777215 - + 50000 - + 2 - - + + seconds @@ -989,46 +920,46 @@ QListView::item { - - + + Lock workspace when minimizing the main window - + - - + + Lock database after inactivity of - - + + false - - + + 0 0 - + 80 16777215 - + 50000 - - + + seconds @@ -1036,11 +967,11 @@ QListView::item { - - + + Qt::Vertical - + 1 1 @@ -1050,31 +981,23 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - - + + Custom Browser Command - + true - + - + - - + + Browse @@ -1083,27 +1006,27 @@ QListView::item { - + - - + + Media Root: - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + The directory where storage devices like CDs and memory sticks are normally mounted. - - + + Browse... @@ -1111,53 +1034,53 @@ QListView::item { - - + + 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) - - + + Auto-Type Fine Tuning - - + + 6 - - - + + + Time between the activation of an auto-type action by the user and the first simulated key stroke. - + ms - + 10000 - - - + + + Pre-Gap: - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - + Qt::Horizontal - + 40 20 @@ -1165,25 +1088,25 @@ QListView::item { - - - + + + Key Stroke Delay: - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - + + + Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. - + ms - + 10000 @@ -1192,27 +1115,27 @@ QListView::item { - + - - + + Global Auto-Type Shortcut: - - + + true - + Qt::Horizontal - + 40 20 @@ -1223,18 +1146,18 @@ QListView::item { - - + + Use entries' title to match the window for Global Auto-Type - - + + Qt::Vertical - + 1 1 @@ -1244,39 +1167,31 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - - + + You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. - + true - - + + Bookmarks - - + + Qt::Vertical - + 1 1 @@ -1286,48 +1201,40 @@ QListView::item { - - - - 0 - 0 - 521 - 331 - - - + + - - - + + + 0 0 - + Plug-Ins - - + + 6 - - + + None - - + + Gnome Desktop Integration (Gtk 2.x) - - + + KDE 4 Desktop Integration @@ -1336,23 +1243,23 @@ QListView::item { - - + + 6 - - + + You need to restart the program before the changes take effect. - + Qt::Horizontal - + 40 20 @@ -1361,8 +1268,8 @@ QListView::item { - - + + Configure... @@ -1370,11 +1277,11 @@ QListView::item { - - + + Qt::Vertical - + 1 1 @@ -1389,18 +1296,18 @@ QListView::item { - - + + Qt::Horizontal - + QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok - + ShortcutWidget @@ -1412,7 +1319,6 @@ QListView::item { listWidget CheckBox_ShowSysTrayIcon CheckBox_MinimizeTray - CheckBox_CloseToTray CheckBox_OpenLast CheckBox_RememberLastKey CheckBox_StartMinimized diff --git a/src/keepassx.h b/src/keepassx.h index 1bbfde5..8670b76 100644 --- a/src/keepassx.h +++ b/src/keepassx.h @@ -26,7 +26,7 @@ #define APP_CODE_NAME "keepassx" #define APP_SHORT_FUNC "Password Manager" #define APP_LONG_FUNC "Cross Platform Password Manager" -#define APP_VERSION "0.4.0" +#define APP_VERSION "0.4.1beta" #define BUILTIN_ICONS 69 @@ -35,7 +35,6 @@ #ifdef __cplusplus #include - #include #include diff --git a/src/lib/AutoTypeGlobalX11.cpp b/src/lib/AutoTypeGlobalX11.cpp index 835e3e6..761ce44 100644 --- a/src/lib/AutoTypeGlobalX11.cpp +++ b/src/lib/AutoTypeGlobalX11.cpp @@ -34,13 +34,22 @@ void initAutoType(KeepassMainWindow* mainWin) { AutoTypeGlobalX11::AutoTypeGlobalX11(KeepassMainWindow* mainWin) : AutoTypeX11(mainWin) { wm_state = XInternAtom(dpy, "WM_STATE", true); windowRoot = XRootWindow(dpy, mainWin->x11Info().screen()); + shortcut.key = 0; focusedWindow = 0; + oldCode = 0; + oldMod = 0; //windowBlacklist << "kicker" << "KDE Desktop"; classBlacklist << "desktop_window" << "gnome-panel"; // Gnome classBlacklist << "kdesktop" << "kicker"; // KDE 3 + classBlacklist << "Plasma"; // KDE 4 classBlacklist << "xfdesktop" << "xfce4-panel"; // Xfce 4 } +void AutoTypeGlobalX11::updateKeymap() { + AutoTypeX11::updateKeymap(); + registerGlobalShortcut(shortcut); +} + void AutoTypeGlobalX11::perform(IEntryHandle* entry, bool hideWindow, int nr, bool wasLocked){ if (focusedWindow && (!hideWindow || wasLocked)) { // detect if global auto-type XSetInputFocus(dpy, focusedWindow, RevertToPointerRoot, CurrentTime); @@ -216,12 +225,15 @@ void AutoTypeGlobalX11::performGlobal(){ } bool AutoTypeGlobalX11::registerGlobalShortcut(const Shortcut& s){ - if (s.key==shortcut.key && s.ctrl==shortcut.ctrl && s.shift==shortcut.shift && s.alt==shortcut.alt && s.altgr==shortcut.altgr && s.win==shortcut.win) - return true; + if (s.key == 0) + return false; int code=XKeysymToKeycode(dpy, HelperX11::getKeysym(s.key)); uint mod=HelperX11::getShortcutModifierMask(s); + if (s.key==shortcut.key && s.ctrl==shortcut.ctrl && s.shift==shortcut.shift && s.alt==shortcut.alt && s.altgr==shortcut.altgr && s.win==shortcut.win && code==oldCode && mod==oldMod) + return true; + HelperX11::startCatchErrors(); XGrabKey(dpy, code, mod, windowRoot, true, GrabModeAsync, GrabModeAsync); XGrabKey(dpy, code, mod | Mod2Mask, windowRoot, true, GrabModeAsync, GrabModeAsync); @@ -239,6 +251,8 @@ bool AutoTypeGlobalX11::registerGlobalShortcut(const Shortcut& s){ else { unregisterGlobalShortcut(); shortcut = s; + oldCode = code; + oldMod = mod; return true; } } @@ -246,15 +260,14 @@ bool AutoTypeGlobalX11::registerGlobalShortcut(const Shortcut& s){ void AutoTypeGlobalX11::unregisterGlobalShortcut(){ if (shortcut.key==0) return; - int code=XKeysymToKeycode(dpy, HelperX11::getKeysym(shortcut.key)); - uint mod=HelperX11::getShortcutModifierMask(shortcut); - - XUngrabKey(dpy, code, mod, windowRoot); - XUngrabKey(dpy, code, mod | Mod2Mask, windowRoot); - XUngrabKey(dpy, code, mod | LockMask, windowRoot); - XUngrabKey(dpy, code, mod | Mod2Mask | LockMask, windowRoot); + XUngrabKey(dpy, oldCode, oldMod, windowRoot); + XUngrabKey(dpy, oldCode, oldMod | Mod2Mask, windowRoot); + XUngrabKey(dpy, oldCode, oldMod | LockMask, windowRoot); + XUngrabKey(dpy, oldCode, oldMod | Mod2Mask | LockMask, windowRoot); shortcut.key = 0; + oldCode = 0; + oldMod = 0; } QString AutoTypeGlobalX11::getRootGroupName(IEntryHandle* entry){ diff --git a/src/lib/AutoTypeGlobalX11.h b/src/lib/AutoTypeGlobalX11.h index 2cccfc7..fc18b68 100644 --- a/src/lib/AutoTypeGlobalX11.h +++ b/src/lib/AutoTypeGlobalX11.h @@ -31,6 +31,7 @@ class AutoTypeGlobalX11 : public AutoTypeX11, public AutoTypeGlobal { bool registerGlobalShortcut(const Shortcut& s); void unregisterGlobalShortcut(); QStringList getAllWindowTitles(); + void updateKeymap(); inline int maskAlt() { return alt_mask; }; inline int maskAltGr() { return altgr_mask; }; inline int maskMeta() { return meta_mask; }; @@ -44,6 +45,8 @@ class AutoTypeGlobalX11 : public AutoTypeX11, public AutoTypeGlobal { QSet classBlacklist; Atom wm_state; Window focusedWindow; + int oldCode; + uint oldMod; }; #endif // _AUTOTYPEGLOBALX11_H_ diff --git a/src/lib/AutoTypeX11.cpp b/src/lib/AutoTypeX11.cpp index 697bd65..b768a35 100644 --- a/src/lib/AutoTypeX11.cpp +++ b/src/lib/AutoTypeX11.cpp @@ -45,9 +45,16 @@ AutoTypeX11::AutoTypeX11(KeepassMainWindow* mainWin) { altgr_mask = 0; altgr_keysym = NoSymbol; + updateKeymap(); + reReadKeymap = false; +} + +void AutoTypeX11::updateKeymap() { ReadKeymap(); if (!altgr_mask) AddModifier(XK_Mode_switch); + if (!meta_mask) + meta_mask = Mod4Mask; } void AutoTypeX11::perform(IEntryHandle* entry, bool hideWindow, int nr, bool wasLocked){ @@ -109,6 +116,14 @@ void AutoTypeX11::perform(IEntryHandle* entry, bool hideWindow, int nr, bool was } } + /* Re-read keymap before first auto-type, + seems to be necessary on X.Org Server 1.6, + when KeePassX is in autostart */ + if (!reReadKeymap) { + updateKeymap(); + reReadKeymap = true; + } + if (hideWindow) mainWin->hide(); @@ -138,8 +153,6 @@ void AutoTypeX11::perform(IEntryHandle* entry, bool hideWindow, int nr, bool was else{ if (hideWindow && !(config->showSysTrayIcon() && config->minimizeTray()) ) mainWin->showMinimized(); - if (wasLocked) - mainWin->OnUnLockWorkspace(); } } @@ -557,7 +570,7 @@ void AutoTypeX11::ReadKeymap() XDisplayKeycodes(dpy, &min_keycode, &max_keycode); if (keysym_table != NULL) XFree(keysym_table); keysym_table = XGetKeyboardMapping(dpy, - min_keycode, max_keycode - min_keycode + 1, + min_keycode, max_keycode - min_keycode + 1, &keysym_per_keycode); for (keycode = min_keycode; keycode <= max_keycode; keycode++) { /* if the first keysym is alphabet and the second keysym is NoSymbol, diff --git a/src/lib/AutoTypeX11.h b/src/lib/AutoTypeX11.h index d635d08..98f3063 100644 --- a/src/lib/AutoTypeX11.h +++ b/src/lib/AutoTypeX11.h @@ -39,10 +39,11 @@ class AutoTypeX11 : public AutoType { public: AutoTypeX11(KeepassMainWindow* mainWin); void perform(IEntryHandle* entry, bool hideWindow=true, int nr=0, bool wasLocked=false); + virtual void updateKeymap(); protected: void sleepTime(int msec); - inline void sleepKeyStrokeDelay(){ sleep(config->autoTypeKeyStrokeDelay()); }; + inline void sleepKeyStrokeDelay(){ sleepTime(config->autoTypeKeyStrokeDelay()); }; void templateToKeysyms(const QString& Template, QList& KeySymList,IEntryHandle* entry); void stringToKeysyms(const QString& string,QList& KeySymList); @@ -63,6 +64,7 @@ class AutoTypeX11 : public AutoType { int meta_mask; int altgr_mask; KeySym altgr_keysym; + bool reReadKeymap; }; #endif // _AUTOTYPEX11_H_ diff --git a/src/lib/EntryView.cpp b/src/lib/EntryView.cpp index 4db740f..2622c0a 100644 --- a/src/lib/EntryView.cpp +++ b/src/lib/EntryView.cpp @@ -202,7 +202,13 @@ void KeepassEntryView::updateEntry(EntryViewItem* item){ } } if (Columns.at(4)){ - item->setText(j++,entry->comment().section('\n',0,0));} + QString comment = entry->comment(); + int toPos = comment.indexOf(QRegExp("[\\r\\n]")); + if (toPos == -1) + item->setText(j++,comment); + else + item->setText(j++,comment.left(toPos)); + } if (Columns.at(5)){ item->setText(j++,entry->expire().dateToString(Qt::SystemLocaleDate));} if (Columns.at(6)){ @@ -361,8 +367,8 @@ void KeepassEntryView::OnClipboardTimeOut(){ Clipboard->clear(QClipboard::Selection); } #ifdef Q_WS_X11 - QProcess::execute("dcop klipper klipper clearClipboardHistory"); - QProcess::execute("dbus-send --type=method_call --dest=org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory"); + QProcess::startDetached("dcop klipper klipper clearClipboardHistory"); + QProcess::startDetached("dbus-send --type=method_call --dest=org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory"); #endif } @@ -446,7 +452,13 @@ void KeepassEntryView::createItems(QList& entries){ } } if (Columns.at(4)){ - item->setText(j++,entries[i]->comment().section('\n',0,0));} + QString comment = entries[i]->comment(); + int toPos = comment.indexOf(QRegExp("[\\r\\n]")); + if (toPos == -1) + item->setText(j++,comment); + else + item->setText(j++,comment.left(toPos)); + } if (Columns.at(5)){ item->setText(j++,entries[i]->expire().dateToString(Qt::SystemLocaleDate));} if (Columns.at(6)){ diff --git a/src/lib/GroupView.cpp b/src/lib/GroupView.cpp index f97c3d4..742384d 100644 --- a/src/lib/GroupView.cpp +++ b/src/lib/GroupView.cpp @@ -162,7 +162,8 @@ void KeepassGroupView::OnEditGroup(){ void KeepassGroupView::contextMenuEvent(QContextMenuEvent* e){ if(!(GroupViewItem*)itemAt(e->pos())) - setCurrentItem(NULL); + return; + e->accept(); if(currentItem()==SearchResultItem) ContextMenuSearchGroup->popup(e->globalPos()); @@ -191,6 +192,13 @@ void KeepassGroupView::setCurrentGroup(IGroupHandle* group){ setCurrentItem(Items[i]); } +void KeepassGroupView::selectFirstGroup(){ + if (Items.isEmpty()) + return; + + setCurrentItem(Items[0]); +} + void KeepassGroupView::dragEnterEvent ( QDragEnterEvent * event ){ LastHoverItem=NULL; InsLinePos=-1; diff --git a/src/lib/GroupView.h b/src/lib/GroupView.h index 10827fd..8c8940a 100644 --- a/src/lib/GroupView.h +++ b/src/lib/GroupView.h @@ -37,6 +37,7 @@ class KeepassGroupView:public QTreeWidget{ void createItems(); void showSearchResults(); void setCurrentGroup(IGroupHandle* group); + void selectFirstGroup(); public slots: void createGroup(const QString& title, quint32 image, GroupViewItem* group=NULL); diff --git a/src/main.cpp b/src/main.cpp index d0f9258..202a498 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -53,7 +53,7 @@ int main(int argc, char **argv) QT_REQUIRE_VERSION(argc, argv, "4.3.0"); -#if defined(Q_WS_X11) && defined(GLOBAL_AUTOTYPE) +#if defined(Q_WS_X11) && defined(AUTOTYPE) QApplication* app = new KeepassApplication(argc,argv); #else QApplication* app = new QApplication(argc,argv); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 27a2c02..a0861b4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -17,6 +17,7 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include #include #include #include "mainwindow.h" @@ -40,6 +41,7 @@ //#include "dialogs/TrashCanDlg.h" //TODO TrashCan #include "dialogs/AddBookmarkDlg.h" #include "dialogs/ManageBookmarksDlg.h" +#include "dialogs/HelpDlg.h" Import_KeePassX_Xml import_KeePassX_Xml; Import_PwManager import_PwManager; @@ -49,7 +51,6 @@ Export_KeePassX_Xml export_KeePassX_Xml; KeepassMainWindow::KeepassMainWindow(const QString& ArgFile,bool ArgMin,bool ArgLock,QWidget *parent, Qt::WFlags flags) :QMainWindow(parent,flags){ - ShutingDown=false; IsLocked=false; EventOccurred=true; inactivityCounter=0; @@ -91,6 +92,7 @@ KeepassMainWindow::KeepassMainWindow(const QString& ArgFile,bool ArgMin,bool Arg LockedCentralWidget->setVisible(false); setupConnections(); + connect(qApp, SIGNAL(commitDataRequest(QSessionManager&)), SLOT(OnShutdown(QSessionManager&))); inactivityTimer = new QTimer(this); inactivityTimer->setInterval(500); @@ -186,7 +188,7 @@ void KeepassMainWindow::setupConnections(){ connect(ExtrasShowExpiredEntriesAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasShowExpiredEntries())); //connect(ExtrasTrashCanAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasTrashCan())); //TODO ExtrasTrashCan - //connect(HelpHandbookAction,SIGNAL(triggered()),this,SLOT(OnHelpHandbook())); //TODO Handbook + connect(HelpHandbookAction,SIGNAL(triggered()),this,SLOT(OnHelpHandbook())); connect(HelpAboutAction,SIGNAL(triggered()),this,SLOT(OnHelpAbout())); connect(EntryView,SIGNAL(itemActivated(QTreeWidgetItem*,int)),EntryView,SLOT(OnEntryActivated(QTreeWidgetItem*,int))); @@ -267,8 +269,8 @@ void KeepassMainWindow::setupIcons(){ #else EditAutoTypeAction->setVisible(false); #endif - //HelpHandbookAction->setIcon(getIcon("manual")); //TODO Handbook - HelpAboutAction->setIcon(getIcon("help")); + HelpHandbookAction->setIcon(getIcon("manual")); + HelpAboutAction->setIcon(getIcon("help_about")); menuBookmarks->menuAction()->setIcon(getIcon("bookmark_folder")); AddThisAsBookmarkAction->setIcon(getIcon("bookmark_this")); AddBookmarkAction->setIcon(getIcon("bookmark_add")); @@ -491,6 +493,8 @@ bool KeepassMainWindow::openDatabase(QString filename,bool IsAuto){ setStatusBarMsg(StatusBarReady); inactivityCounter = 0; + GroupView->selectFirstGroup(); + return true; } @@ -530,7 +534,7 @@ bool KeepassMainWindow::closeDatabase(bool lock){ db->close(); delete db; db=NULL; - if (QFile::exists(currentFile+".lock")){ + if (!dbReadOnly && QFile::exists(currentFile+".lock")){ if (!QFile::remove(currentFile+".lock")) QMessageBox::critical(this, tr("Error"), tr("Couldn't remove database lock file.")); } @@ -939,7 +943,6 @@ void KeepassMainWindow::OnFileChangeKey(){ } void KeepassMainWindow::OnFileExit(){ - ShutingDown=true; close(); } @@ -1035,17 +1038,10 @@ void KeepassMainWindow::OnFileModified(){ } void KeepassMainWindow::closeEvent(QCloseEvent* e){ - if(!ShutingDown && config->showSysTrayIcon() && config->minimizeToTray()){ - e->ignore(); - if (config->lockOnMinimize() && !IsLocked && FileOpen) - OnUnLockWorkspace(); - hide(); - return; - } - if(FileOpen && !closeDatabase()){ - ShutingDown=false; e->ignore(); + if (!isVisible()) + show(); return; } @@ -1064,6 +1060,7 @@ void KeepassMainWindow::closeEvent(QCloseEvent* e){ config->setShowStatusbar(statusBar()->isVisible()); delete SysTray; + QMainWindow::closeEvent(e); QApplication::quit(); } @@ -1136,21 +1133,20 @@ void KeepassMainWindow::OnHelpAbout(){ dlg.exec(); } - //TODO Handbook -/*void KeepassMainWindow::OnHelpHandbook(){ - HelpBrowser->openAssistant(); - - -}*/ +void KeepassMainWindow::OnHelpHandbook(){ + QPointer dlg = new HelpDlg(this); + dlg->exec(); + delete dlg; +} void KeepassMainWindow::OnViewShowToolbar(bool show){ -config->setShowToolbar(show); -toolBar->setVisible(show); + config->setShowToolbar(show); + toolBar->setVisible(show); } void KeepassMainWindow::OnViewShowEntryDetails(bool show){ -config->setShowEntryDetails(show); -DetailView->setVisible(show); + config->setShowEntryDetails(show); + DetailView->setVisible(show); } /*void KeepassMainWindow::OnItemExpanded(QTreeWidgetItem* item){ @@ -1301,8 +1297,10 @@ void KeepassMainWindow::OnUnLockWorkspace(){ item = parent; } - if (closeDatabase(true)) + if (closeDatabase(true)) { + setStateFileModified(false); setLock(); + } else lockGroup.clear(); } @@ -1365,6 +1363,14 @@ void KeepassMainWindow::OnInactivityTimer(){ } } +void KeepassMainWindow::OnShutdown(QSessionManager& manager) { + /* QApplication::commitData() only closes visible windows, + so we need to manually close mainwindow if it's hidden */ + if (manager.allowsInteraction() && !isVisible()) { + close(); + } +} + void KeepassMainWindow::OnBookmarkTriggered(QAction* action){ if(action==AddBookmarkAction){ AddBookmarkDlg dlg(this); diff --git a/src/mainwindow.h b/src/mainwindow.h index 4f107bb..c89f70d 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -21,6 +21,7 @@ #ifndef MAINWINDOW_H #define MAINWINDOW_H +#include #include #include "lib/EntryView.h" #include "lib/GroupView.h" @@ -72,7 +73,7 @@ class KeepassMainWindow : public QMainWindow, private Ui_MainWindow{ void OnExtrasShowExpiredEntries(); //void OnExtrasTrashCan(); //TODO TrashCan void OnHelpAbout(); - //void OnHelpHandbook(); //TODO Handbook + void OnHelpHandbook(); //void OnItemExpanded(QTreeWidgetItem*); //void OnItemCollaped(QTreeWidgetItem*); void OnShowSearchResults(); @@ -84,6 +85,7 @@ class KeepassMainWindow : public QMainWindow, private Ui_MainWindow{ void OnDetailViewUrlClicked(const QUrl& url); void OnLockClose(); void OnInactivityTimer(); + void OnShutdown(QSessionManager& manager); private: void closeEvent(QCloseEvent* event); @@ -130,7 +132,6 @@ class KeepassMainWindow : public QMainWindow, private Ui_MainWindow{ QWidget* NormalCentralWidget; QWidget* LockedCentralWidget; Ui_WorkspaceLockedWidget WorkspaceLockedWidget; - bool ShutingDown; bool InUnLock; QList lockGroup; QDialog* unlockDlg; diff --git a/src/res/docs/external.png b/src/res/docs/external.png new file mode 100644 index 0000000000000000000000000000000000000000..419c06fb960b0b665791c90044a78621616a4cb8 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&i3a$DxTeiKV?6WB%rpNP(#|lX z{f7XTR~%D;3fN16{DL7O3{u|AZa^UmPZ!4!iE!1^jzSC$EX7 z>#2$@InOtpuqyg8<+R}9g-+|v&13&5`dCp`{|95_8^+nQkC>(b&0z3!^>bP0l+XkK DO07OF literal 0 HcmV?d00001 diff --git a/src/res/docs/faq.html b/src/res/docs/faq.html new file mode 100644 index 0000000..d098029 --- /dev/null +++ b/src/res/docs/faq.html @@ -0,0 +1,49 @@ + + + + KeePassX Frequently Asked Questions + + + +

KeePassX Frequently Asked Questions

+ +
+

Q: Is Auto-Type supported on Mac OS X or Windows?

+

+ A: No, Auto-Type is currently supported on Linux only. +

+ +
+

Q: What password database formats are compatible with KeePassX?

+

+ A: KeePassX currently uses the KeePass 1.x (Classic) password database format as + the native format. It can also import KeePassX 1.x XML exports, PwManager databases + and KWallet XML databases. KeePass 2.x database format is not supported. +

+ +
+

Q: Can I open KeePass 2.x password databases with KeePassX?

+

+ A: No, KeePassX does not support the KeePass 2.x (.kdbx) password database + format currently. + However, you can create an export in KeePass 1.x database format (.kdb) from + KeePass 2.x, which KeePassX can read (and use as the native password database). +

+ + + + + \ No newline at end of file diff --git a/src/res/docs/features.html b/src/res/docs/features.html new file mode 100644 index 0000000..2077afe --- /dev/null +++ b/src/res/docs/features.html @@ -0,0 +1,20 @@ + + + + KeePassX Features Overview + + +
+

KeePassX Feature Overview

+ + + + + \ No newline at end of file diff --git a/src/res/docs/index.html b/src/res/docs/index.html new file mode 100644 index 0000000..0c538f0 --- /dev/null +++ b/src/res/docs/index.html @@ -0,0 +1,82 @@ + + + + KeePassX User Guide + + +
+

KeePassX User Guide

+

For version 0.4.0.

+ +
+

KeePassX project in short

+

+ KeePassX (KPX) + is a cross-platform password manager program. + It is mainly designed to be used on *nix platforms, + such as Linux and Mac OS X. +

+

+ KeePassX currently uses same the database file + format as the KeePass + 1.x (Classic) password manager software for Windows. + Although a Windows build for KPX exists, it is + recommended to use the original KeePass on Windows, as + it has more features and is more matured on the platform. +

+

+ Please note that KeePassX and KeePass are entirely + separate projects, maintained by two separate groups of people + and consequently, share no common codebase. +

+

+ Thank you for using KeePassX! +

+ + +

Program installation

+

+ See the system requirements and + installation procedures for KeePassX. + If you are viewing this documentation from already installed KeePassX + program, you can safely skip this part. +

+ + +

Quick-start Guide

+

+ Master the essential core + features of KeePassX in minutes. +

+ + +

Frequently Asked Questions

+

+ See answers to the most Frequently Asked Questions. +

+ + +

Contact and Support

+

+ If you have further questions or want to make suggestions + about the program, please visit + KeePassX forum . +

+ + + + \ No newline at end of file diff --git a/src/res/docs/installation.html b/src/res/docs/installation.html new file mode 100644 index 0000000..98fd230 --- /dev/null +++ b/src/res/docs/installation.html @@ -0,0 +1,50 @@ + + + + KeePassX Installation Guide + + + +

KeePassX Installation Guide

+

+ This guide will help you to install KeePassX. +

+ +
+

Installation from binary

+

+ Easiest way to use KeePassX is to install from a binary. Ready-built + binaries are available for all commonly used Linux distributions + from their respective binary package repositories. Binaries for + Mac OS X and Windows are available at the + project web site . +

+

Installation commands for some Linux distributions:

+
+
Ubuntu Linux
+
sudo apt-get install keepassx +

or use Synaptic Package Manager from the + System > Administation menu.
+
Fedora
+
su -
yum install keepassx
+
+ + +

Installation from source

+

+ If your distribution doesn't have ready-built binary for + KeePassX or you would like to try out latest SVN version + of KeePassX, you can try building from source. Instructions + can be found at the + project web site . +

+ + + \ No newline at end of file diff --git a/src/res/docs/quickstart.html b/src/res/docs/quickstart.html new file mode 100644 index 0000000..442c668 --- /dev/null +++ b/src/res/docs/quickstart.html @@ -0,0 +1,233 @@ + + + + KeePassX Quick-start Guide + + + +

KeePassX Quick-start Guide

+

+ This guide helps you to manage your + passwords efficiently and securely with KeePassX. +

+ +
+

Starting up

+

+ After starting KeePassX for the first time, you + are presented with the main window with + no open database file. If you have used KeePassX + (or KeePass Classic on Windows) previously, you can + open your existing database. Otherwise we begin + with creating a new password database. +

+ +
+

Creating a new password database

+

+ KeePassX stores your password entries into + a password database file when the it's not running. + To create a new password database, click the + "New Database" + icon on the program toolbar (it is the first icon from the + left on the toolbar). +

+

+ Second, you need to set the master key for the + password database. This key is used to encrypt (ie. lock) + the password database so it cannot be read by anybody + else but you. The master key can be a password + or a key file or both. + If you check both, you must provide both the password + and the key file to every time you want to unlock the database. +

+

+ If you decide to use a password, + + choose and protect it carefully . + The password should be strong, ie. long enough + (at least 8 characters) and preferably contain lower and + uppercase characters, numbers and special characters (e.g. !#?). + You should also memorize the password well, because + if you forget it, there is no way retrieving it later + from the locked database. You will be asked + to give the password twice to ensure that + there is no typing errors in the password. +

+

+ The key file can be any file on your computer, e.g. a picture or + a text document. + You can also create a randomly-generated key file by first + selecting the key file check box and clicking + "Generate Key File...". + You can store the key file for example on a USB memory stick, + to keep it with you everywhere. +

+ + +

Adding password entries

+

+ After you have created or opened a database, you + can add password entries to the database. + A password entry essentially consists of a title, + user name and password. It may have other entries + as well, such as URL (Internet link) and comments. + To add a new password entry, select a group from + the list on the left first, then + click the + "Add New Entry" icon on the program toolbar. +

+

+ In the "New Entry" dialog you can enter + the information you want to into respective text boxes. + If you are creating a new account to e.g. a web forum, + you can use the password generator to generate strong + random passwords for you. +

+ +
+

Saving the database

+

+ If you have added or edited entries in your database, + they are not automatically save to the database file by default. + You can save the database by clicking the + "Save Database" icon. +

+

+ You may also want to + enable "Automatically save database + after every change" option from the + "Extras" > + "Settings..." > + "General (2)" page. + (On OS X, the page is found from + "KeePassX" (Application menu) > + "Preferences".) +

+ +
+

Opening a database

+

+ By default, on next startup, KeePassX opens a + "Enter Master Key" + dialog for the last used password database. If you wish + to open another password database, click + "Cancel" + and click "Open Database" icon + on the program toolbar and select the wanted password + database file from the file system. You can, of course, + do this at any point when the KeePassX main window is active. +

+ +
+

Editing and removing password entries

+

+ If you wish to edit a password entry, you can do + so by double-clicking on the entry title, + or by selecting the entry and then clicking the + "View/Edit Entry" icon + on the program toolbar. +

+

+ To delete a password entry, first select the + entry and click "Delete Entry" icon + on the program toolbar or hit Ctrl-D (Cmd+D on OS X) + on the keyboard. +

+ +
+

Copying password (and user name) to the clipboard

+

+ You can copy the currently selected password by hitting Ctrl-C + (Cmd-C on OS X) and user name with Ctrl-B (Cmd-B + on OS X) on the keyboard. Then you can hit Ctrl-V + (Cmd-V on OS X) to paste the password or username + to any program that supports pasting from the clipboard. +

+ +
+

Setup Auto-Type (currently Linux only)

+

+ Auto-Type is a feature that allows you to e.g. log in + to web page by hitting only one key combination. + KeePassX does the rest of the typing for you. Auto-Type reads + the title of currently active window on your screen + and matches it to the configured database entries. + If a matching window title is found from the password + database, it executes a predefined key sequence + (by default your username, TAB, password, ENTER) in + the active window. This feature is currently available + in the Linux version only. +

+

+ To enable Auto-Type, first go to + "Extras" > + "Settings..." > + "Advanced" page + and set the "Global Auto-Type Shortcut" + by clicking the text box and typing the desired + keyboard shortcut (e.g. Ctrl-Shift-N). + Click "OK" to exit the dialog. +

+

+ Then, for example, open the web page where you + want to be able to log in with Auto-Type. Let's + for example open Google.com into Firefox and + try to do automated search with Auto-Type. Go + to Google.com in Firefox and you'll notice + that your window title is now "Google - Mozilla Firefox" +

+

+ Now, create new password entry, that + contains user name "test". + Then, click the small "Tools" + button at the bottom of the "New Entry" + dialog, and select "Auto-Type: Select target window" + Select "Google - Mozilla Firefox" from the dropdown menu and + click "OK". You should see now a new + line in the "Comment:" box, which reads:

+ + Auto-Type-Window: Google - Mozilla Firefox

+ + Now you have associated that window title to this entry. +

+

+ Finally, let's customize the Auto-Type key sequence + to just enter your username and hit ENTER. + Click again "Tools" + and select "Auto-Type: Customize Sequence". + Now there's another new line in the "Comment:" box, + which reads:

+ + Auto-Type: {USERNAME}{TAB}{PASSWORD}{ENTER}

+ + Change this line to:

+ + Auto-Type: {USERNAME}{ENTER}

+ + So that it would just type in your username and hit ENTER. + Click "OK" to save the entry. +

+

+ Now, you can test the Auto-Type by returning to the + Firefox window and hitting the global Auto-Type keyboard + shortcut (e.g. Ctrl-Shift-N) in it. + If everything went correctly, KeePassX should now enter + "test" in the search box and start the search query + by hitting ENTER. +

+

+ By modifing the Auto-Type key sequence you can tailor + Auto-Type to suit almost every web login page you'll enter. +

+ + + + \ No newline at end of file diff --git a/src/res/docs/systemreq.html b/src/res/docs/systemreq.html new file mode 100644 index 0000000..f76d31c --- /dev/null +++ b/src/res/docs/systemreq.html @@ -0,0 +1,46 @@ + + + + KeePassX System Requirements + + +
+

KeePassX System Requirements

+

+ This guide tells what is required from your system + in order to build or run KeePassX. +

+ +
+

Requirements

+

+ These are the minimum requirements for the KeePassX v0.3.1 and higher + for building KeePassX from source. +

+

+ Build dependencies: +

+
    +
  • + Qt library version >= 4.3.
    + (required modules: QtCore, QtGui, QtXML.) +
  • +
  • libXtst
  • +
+

+ Application bundle: +

+
    +
  • X11 with XRanR, Xinerama and XTest extensions.
  • +
  • Glibc 2.4
  • +
+ + + \ No newline at end of file diff --git a/src/res/resources.qrc b/src/res/resources.qrc index 2ce550f..a0892bf 100644 --- a/src/res/resources.qrc +++ b/src/res/resources.qrc @@ -1,5 +1,12 @@ - - default-detailview.html - - \ No newline at end of file + + default-detailview.html + docs/faq.html + docs/features.html + docs/index.html + docs/installation.html + docs/quickstart.html + docs/systemreq.html + docs/external.png + + \ No newline at end of file diff --git a/src/src.pro b/src/src.pro index 280b17b..43d3a86 100644 --- a/src/src.pro +++ b/src/src.pro @@ -132,6 +132,7 @@ FORMS += forms/AboutDlg.ui \ forms/EditEntryDlg.ui \ forms/EditGroupDlg.ui \ forms/ExpiredEntriesDlg.ui \ + forms/HelpDlg.ui \ forms/MainWindow.ui \ forms/ManageBookmarksDlg.ui \ forms/PasswordDlg.ui \ @@ -207,6 +208,7 @@ HEADERS += main.h \ dialogs/EditEntryDlg.h \ dialogs/EditGroupDlg.h \ dialogs/ExpiredEntriesDlg.h \ + dialogs/HelpDlg.h \ dialogs/ManageBookmarksDlg.h \ dialogs/PasswordDlg.h \ dialogs/PasswordGenDlg.h \ @@ -265,6 +267,7 @@ SOURCES += main.cpp \ dialogs/EditEntryDlg.cpp \ dialogs/EditGroupDlg.cpp \ dialogs/ExpiredEntriesDlg.cpp \ + dialogs/HelpDlg.cpp \ dialogs/ManageBookmarksDlg.cpp \ dialogs/PasswordDlg.cpp \ dialogs/PasswordGenDlg.cpp \ diff --git a/src/translations/keepassx-es_ES.ts b/src/translations/keepassx-es_ES.ts index 91f1c8c..dab9e50 100644 --- a/src/translations/keepassx-es_ES.ts +++ b/src/translations/keepassx-es_ES.ts @@ -1,41 +1,12 @@ - - @default - - - Could not open file (FileError=%1) - No se pudo abrir el archivo (FileError=%1) - - + AboutDialog - - KeePassX %1 - KeePassX %1 - - - - <b>Current Translation: None</b><br><br> - Please replace 'None' with the language of your translation - <b>Traducción actual: Español</b><br><br> - - - - <b>Author:</b> %1<br> - <b>Autor:</b> %1<br> - - - - $TRANSLATION_AUTHOR - Jaroslaw Filiochowski, Marcos del Puerto - - - - $TRANSLATION_AUTHOR_EMAIL - Here you can enter your email or homepage if you want. - jarfil@jarfil.net, mpuertog@gmail.com + + Information on how to translate KeePassX can be found under: + La información sobre cómo traducir KeePassX se puede encontrar en: @@ -50,7 +21,12 @@ Web Designer - Diseñador web + Diseñador Web + + + + Developer + Desarrollador @@ -60,17 +36,17 @@ Patches for better MacOS X support - Parches para mejorar la compatibilidad con MacOS X + Parches para un soporte en MacOS X mejorado Main Application Icon - Icono de la aplicación principal + Icono de la Aplicación Principal Various fixes and improvements - Múltiples correcciones y mejoras + Varias correcciones y improvisaciones @@ -80,55 +56,33 @@ File '%1' could not be found. - Archivo '%1' no encontrado. + El archivo '%1' no puede ser encontrado. Make sure that the program is installed correctly. - Asegúrese de que el programa está instalado correctamente. + Asegúrate de que el programa esté correctamente instalado. OK - Ok - - - - Could not open file '%1' - No se pudo abrir fichero '%1' - - - - The following error occured: -%1 - Ha ocurrido el siguiente error: -%1 - - - - Developer - Desarrollador - - - - Information on how to translate KeePassX can be found under: - Se puede encontrar información sobre cómo traducir KeePassX en: + OK Current Translation - Traducción actual + Traducción Actual None Please replace 'None' with the language of your translation - Por favor, sustituir 'Ninguno' con el idioma de la traducción + Spanish - Spain - Castellano - España Author - Autor + Cross - http://genlinux.wordpress.com @@ -139,67 +93,48 @@ Acerca de - - Thanks To - Agradecimientos - - - - License - Licencia - - - - Translation - Traducción + + AppName + Nombre de Aplicación - - Credits - Créditos + + AppFunc + Función de Aplicación http://keepassx.sourceforge.net - http://keepassx.sourceforge.net + keepassx@gmail.com - keepassx@gmail.com - - - - AppName - NombreApl + - - AppFunc - NombreFun + + Credits + Créditos - - Copyright (C) 2005 - 2008 KeePassX Team -KeePassX is distributed under the terms of the -General Public License (GPL) version 2. - Copyright (C) 2005 - 2008 KeePassX Team KeePassX se distribuye bajo los términos de la General Public License (GPL) versión 2. + + Translation + Traducción - - Copyright (C) 2005 - 2009 KeePassX Team -KeePassX is distributed under the terms of the -General Public License (GPL) version 2. - Copyright (C) 2005 - 2008 KeePassX Team KeePassX se distribuye bajo los términos de la General Public License (GPL) versión 2. {2005 ?} {2009 ?} {2.?} + + License + Licencia Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. - Copyright (C) 2005 - 2009 KeePassX Team -KeePassX se distribuye bajo los términos de la -General Public License (GPL) versión 2. + Copyrigh (C) 2005 - 2009 KeePassX Team +KeePassX está distribuido con la licencia de +General Public License (GPL) version 2. @@ -217,12 +152,12 @@ General Public License (GPL) versión 2. File: - Archivo: + Fichero: Browse... - Navegar... + Navega... @@ -232,38 +167,12 @@ General Public License (GPL) versión 2. KeePass Databases (*.kdb) - Base de datos de KeePass (*.kdb) + Bases de datos KeePass (*.kbd) All Files (*) - Todos los archivos (*) - - - - AutoType - - - More than one 'Auto-Type:' key sequence found. -Allowed is only one per entry. - Se ha encontrado más de una secuencia de teclas para 'auto-escritura:'.Sólo se permite una por entrada. - - - - Error - Error - - - - Syntax Error in Auto-Type sequence near character %1 -Found '{' without closing '}' - Error sintáctico en la secuencia de auto-escritura cerca del carácter %1 -Se encontró '{' sin un '}' de cierrre. - - - - Auto-Type string contains invalid characters - Alguno de los caracteres de la cadena de auto-escritura no son válidos. + Todos los ficheros (*) @@ -271,12 +180,12 @@ Allowed is only one per entry. KeePassX - Auto-Type - KeePassX - Auto-escritura + KeePassX - Auto-Escribir Click on an entry to auto-type it. - Hacer click en una entrada para auto-escribirla. + Haz click en una entrada para auto-escribirla. @@ -293,122 +202,43 @@ Allowed is only one per entry. Username Nombre de usuario - - - Cancel - Cancelar - Auto-Type - Auto-escritura + Auto-Escribir - CAboutDialog - - - KeePassX %1 - KeePassX %1 - - - - Error - Error - - - - File '%1' could not be found. - Archivo '%1' no encontrado. - - - - Make sure that the program is installed correctly. - Asegúrese de que el programa está instalado correctamente. - - - - OK - OK - - - - Could not open file '%1' - No se pudo abrir fichero '%1' - - - - The following error occured: -%1 - Ha ocurrido el siguiente error: -%1 - - - - http://keepass.berlios.de/index.php - http://keepass.berlios.de/index.php - - - - <b>Current Translation: None</b><br><br> - Please replace 'None' with the language of your translation - <b>Traducción actual: Español</b><br><br> - - - - <b>Author:</b> %1<br> - <b>Autor:</b> %1<br> - - - - $TRANSALTION_AUTHOR - Jaroslaw Filiochowski - - - - $TRANSLATION_AUTHOR_EMAIL - Here you can enter your email or homepage if you want. - jarfil@jarfil.net - - - - Information on how to translate KeePassX can be found under: -http://keepass.berlios.de/translation-howto.html - Puede encontrar información sobre cómo traducir KeePassX en esta dirección: -http://keepass.berlios.de/translation-howto.html - + CDbSettingsDlg - - Thanks To - Agradecimientos + + Settings + Ajustes - - - CDbSettingsDlg AES(Rijndael): 256 Bit (default) - AES(Rijndael): 256 Bits (por defecto) + AES(Rijndael): 256 Bit (por defecto) Twofish: 256 Bit - Twofish: 256 Bits + Twofish: 256 Bit Warning - Aviso + Avíso Please determine the number of encryption rounds. - Defina el número de iteraciones de cifrado. + Por favor, determina el número de rondas de encriptación. OK - Aceptar + OK @@ -418,127 +248,16 @@ http://keepass.berlios.de/translation-howto.html '%1' is not valid integer value. - '%1' no es un valor entero válido. + '%1' no es un valor íntegro The number of encryption rounds have to be greater than 0. - El númer de iteraciones de cifrado debe ser mayor que 0. - - - - Settings - Preferencias + El número de rondas de encriptación tiene que ser mayor de 0. CEditEntryDlg - - - Warning - Aviso - - - - Password and password repetition are not equal. -Please check your input. - Las contraseñas no coinciden. -Compruebe que las ha introducido correctamente. - - - - OK - Aceptar - - - - Save Attachment... - Guardar Adjunto... - - - - Overwrite? - Sobreescribir? - - - - A file with this name already exists. -Do you want to replace it? - Ya existe un archivo con este nombre. -¿Desea reemplazarlo? - - - - Yes - - - - - No - No - - - - Error - Error - - - - Could not remove old file. - No se pudo eliminar el archivo anterior. - - - - Could not create new file. - No se pudo crear el nuevo archivo. - - - - Error while writing the file. - Error al escribir el archivo. - - - - Delete Attachment? - Eliminar Adjunto? - - - - You are about to delete the attachment of this entry. -Are you sure? - Está a punto de eliminar el adjunto de esta entrada. -¿Está seguro? - - - - No, Cancel - No, Cancelar - - - - Edit Entry - Editar entrada - - - - Could not open file. - No se pudo abrir el archivo. - - - - %1 Bit - %1 Bit - - - - Add Attachment... - Adjuntar archivo... - - - - The chosen entry has no attachment or it is empty. - La entrada seleccionada no contiene un archivo adjunto o está vacio. - Today @@ -585,219 +304,130 @@ Are you sure? Calendario... - - [Untitled Entry] - [Entrada sin nombre] + + %1 Bit + %1 Bit - New Entry - Nueva entrada + Edit Entry + Editar entrada - - - CGenPwDialog - - Notice - Notificación + + Warning + Aviso - - You need to enter at least one character - Debe introducir al menos un carácter + + Password and password repetition are not equal. +Please check your input. + La contraseña y la contraseña repetida no son iguales +Por favor, comprueba que las hayas escrito correctamente - + OK - Aceptar + OK - - Error - Error + + [Untitled Entry] + [Entrada sin título] - - Could not open '/dev/random' or '/dev/urandom'. - No se pudo abrir '/dev/random' o '/dev/urandom'. + + Add Attachment... + Añadir Adjunto... - - Password Generator - Generador de contraseñas + + Error + Error - - %1 Bits - %1 Bits + + Could not open file. + No se ha podido abrir el fichero. - - - CPasswordDialog - - OK - Aceptar + + The chosen entry has no attachment or it is empty. + La entrada seleccionada no tiene adjuntos o está vacia. - - Error - Error + + Save Attachment... + Guardar adjunto.... - - Please enter a Password. - Introduzca una Contraseña. - - - - Please choose a key file. - Seleccione un archivo de clave. - - - - Please enter a Password or select a key file. - Introduzca una Contraseña o seleccione un archivo de clave. - - - - Database Key - Contraseña de la Base de Datos - - - - Select a Key File - Seleccione un Archivo de Clave - - - - *.key - *.key - - - - Unexpected Error: File does not exist. - Error Inesperado: Archivo no existe. - - - - The selected key file or directory does not exist. - El archivo de clave seleccionado o el directorio no existen. - - - - The given directory does not contain any key files. - El directorio no contiene ningún archivo de clave. - - - - The given directory contains more then one key file. -Please specify the key file directly. - El directorio contiene más de un archivo de clave. -Especifique un archivo de clave concreto. - - - - The key file found in the given directory is not readable. -Please check your permissions. - El archivo de clave encontrado en el directorio no se puede leer. -Compruebe sus permisos de acceso. - - - - Key file could not be found. - Archivo de clave no encontrado. - - - - Key file is not readable. -Please check your permissions. - Archivo de clave no se puede leer. -Compruebe sus permisos de acceso. - - - - Warning - Advertencia - - - - Password an password repetition are not equal. -Please check your input. - Las contraseñas no coinciden. -Compruebe que las ha introducido correctamente. + + Error while writing the file. + Error mientras se escribía en el fichero. - - Please enter a password or select a key file. - Introduzca una contraseña o seleccione un archivo de clave. + + Delete Attachment? + Borrar adjunto? - - A file with the name 'pwsafe.key' already exisits in the given directory. -Do you want to replace it? - El archivo 'pwsafe.key' ya existe en el directorio. -¿Desea reemplazarlo? + + You are about to delete the attachment of this entry. +Are you sure? + Estás a punto de borrar el adjunto de esta entrada. +¿Estás seguro? - + Yes - - - - - No - No + Si - - The exisiting file is not writable. - El archivo existente no se puede escribir. - - - - A file with the this name already exisits. -Do you want to replace it? - Existe un archivo con ese nombre. -¿Desea reemplazarlo? + + No, Cancel + No, cancelar. - - Cancel - Cancelar + + New Entry + Nueva Entrada - CSearchDlg - - - Notice - Aviso - - - - Please enter a search string. - Introduzca una cadena de búsqueda. - + CGenPwDialog - - OK - Aceptar + + Password Generator + Generador de Contraseñas - - Search - Buscar + + %1 Bits + %1 Bits CSelectIconDlg + + + Replace... + Reemplazar... + Delete Borrar + + + Add Custom Icon + Añadir un icono personalizado + + + + Pick + Seleccionar + Add Icons... @@ -808,40 +438,25 @@ Do you want to replace it? Images (%1) Imágenes (%1) + + + %1: File could not be loaded. + %1: El fichero no puede ser cargado. + Error Error - - Replace... - Sustituir... + + An error occured while loading the icon(s): + Ha ocurrido un error mientras se cargaban los iconos: An error occured while loading the icon. - Se produjo un error al cargar el icono. - - - - Add Custom Icon - Añadir icono personalizado - - - - Pick - Seleccionar - - - - %1: File could not be loaded. - %1: No se puede cargar el archivo. - - - - An error occured while loading the icon(s): - Se produjo un error al cargar los iconos: + Ha ocurrido un error mientras se cargaba el icono. @@ -849,22 +464,22 @@ Do you want to replace it? Settings - Preferencias + Ajustes Select a directory... - Seleccione un directorio... + Selecciona un directorio... Select an executable... - Seleccionar un ejecutable... + Selecciona un ejecutable... System Language - + Idioma del sistema @@ -877,21 +492,17 @@ Do you want to replace it? CollectEntropyDlg - - - Entropy Collection - Recopilar entropía - Random Number Generator - Generador de números aleatorios + Generador de Números Aleatorios Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. - Recopilando entropía...Por favor, mueve el ratón y/o pulsa algunas teclas hasta que se recopile suficiente entropía para la semilla del generador de números aleatorios. + Recolectando entropía... +Por favor, mueve el ratón y/o presiona teclas hasta que haya suficiente entropía para recoger de el generador de números aleatorios. @@ -899,71 +510,16 @@ Please move the mouse and/or press some keys until enought entropy for a reseed p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> - <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">¡Creada la semilla del fondo aleatorio con éxito!</span></p></body></html> + <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Se terminó de generar!</span></p></body></html> + + + + Entropy Collection + Colección de Entropía CustomizeDetailViewDialog - - - Group - Grupo - - - - Title - Título - - - - Username - Nombre de usuario - - - - Password - Contraseña - - - - Url - Url - - - - Comment - Comentario - - - - Attachment Name - Nombre del adjunto - - - - Creation Date - Fecha de creación - - - - Last Access Date - Fecha de último acceso - - - - Last Modification Date - Fecha de última modificación - - - - Expiration Date - Fecha de expiración - - - - Time till Expiration - Tiempo hasta la expiración - Dialog @@ -972,7 +528,7 @@ p, li { white-space: pre-wrap; } Rich Text Editor - Editor de texto enriquecido + Editor de Texto Rico @@ -982,7 +538,7 @@ p, li { white-space: pre-wrap; } B - N + B @@ -992,7 +548,7 @@ p, li { white-space: pre-wrap; } I - C + I @@ -1002,17 +558,17 @@ p, li { white-space: pre-wrap; } U - S + U Left-Aligned - Alineado a la izquierda + Aliniado a la Izquierda L - I + L @@ -1027,12 +583,12 @@ p, li { white-space: pre-wrap; } Right-Aligned - Alineado a la derecha + Aliniado a la Derecha R - D + R @@ -1042,12 +598,12 @@ p, li { white-space: pre-wrap; } Text Color - Color del texto + Texto de Color Font Size - Tamaño de fuente + Tamaño de la fuente @@ -1147,7 +703,7 @@ p, li { white-space: pre-wrap; } T - P + T @@ -1155,9 +711,64 @@ p, li { white-space: pre-wrap; } HTML - - Cancel - Cancelar + + Group + Grupo + + + + Title + Título + + + + Username + Nombre de usuario + + + + Password + Contraseña + + + + Url + URL + + + + Comment + Comentario + + + + Attachment Name + Nombre del adjunto + + + + Creation Date + Fecha de creación + + + + Last Access Date + Fecha del Último Acceso + + + + Last Modification Date + Fecha de última modificación + + + + Expiration Date + Fecha de expiración + + + + Time till Expiration + Tiempo hasta que expire @@ -1173,12 +784,12 @@ p, li { white-space: pre-wrap; } Database Settings - Configuración de la base de datos + Parámetro de la base de datos Encryption - Cifrado + Encriptacion @@ -1188,12 +799,12 @@ p, li { white-space: pre-wrap; } Encryption Rounds: - Iteraciones de cifrado: + Rondas de Encriptación: Calculate rounds for a 1-second delay on this computer - Calcular iteraciones de 1 segundo de espera en este ordenador + Calcular rondas para 1 segundo de parón en este equipo. @@ -1211,7 +822,7 @@ p, li { white-space: pre-wrap; } Username - Nombre de usuario + Nombre de Usuario @@ -1257,14 +868,19 @@ p, li { white-space: pre-wrap; } Editar Entrada - - Username: - Usuario: + + Ge&n. + Ge&n - - Password Repet.: - Contraseña (repetida): + + Quality: + Calidad: + + + + Attachment: + Adjunto: @@ -1272,95 +888,60 @@ p, li { white-space: pre-wrap; } Título: - - URL: - URL: - - - - Password: - Contraseña: - - - - Quality: - Calidad: + + Username: + Nombre de Usuario: Comment: Comentario: - - - Expires: - Expira: - - - - Group: - Grupo: - - - - &Cancel - &Cancelar - - - - Alt+C - Alt+C - %1 %1 - - Icon: - Icono: - - - - % Bit - % Bits + + URL: + URL: - - Ge&n. - Ge&n. + + Group: + Grupo: - - ... - ... + + Password Repet.: + Repetir Contraseña: - - O&K - &Aceptar + + Password: + Contraseña: - - Alt+K - Alt+A + + Expires: + Expira: Never Nunca - - - Attachment: - Adjunto: - %1 Bit %1 Bit + + + Icon: + Icóno: + EditGroupDialog @@ -1369,35 +950,15 @@ p, li { white-space: pre-wrap; } Group Properties Propiedades del Grupo - - - Title: - Título: - Icon: - Icono: + Icóno. - - &Cancel - &Cancelar - - - - Alt+C - Alt+C - - - - O&K - &Aceptar - - - - Alt+K - Alt+A + + Title: + Título: @@ -1410,12 +971,12 @@ p, li { white-space: pre-wrap; } Expired Entries - Entidades expiradas + Entradas Expiradas Double click on an entry to jump to it. - Doble click en una entrada para ir a ella. + Doble click en una entrada para saltar a ella. @@ -1435,71 +996,61 @@ p, li { white-space: pre-wrap; } Expired - Expirada + Expirado Expired Entries in the Database - Entradas expiradas en la base de datos + Entradas Expiradas en la Base de Datos Export_KeePassX_Xml + + + KeePassX XML File + Fichero KeePassX XML + XML Files (*.xml) - Archivos XML (*.xml) + Ficheros XML (*.xml) All Files (*) Todos los archivos (*) - - - KeePassX XML File - Archivo XML de KeePassX - Export_Txt - - Could not open file (FileError=%1) - No se pudo abrir el archivo (FileError=%1) + + Text File + Fichero de Texto All Files (*) - Todos los archivos (*) + Todos los Ficheros (*) Text Files (*.txt) - Archivos de texto (*.txt) - - - - Text File - Archivo de texto + Ficheros de Texto (*.txt) ExporterBase - - - Import File... - Importar archivo... - Export Failed - Falló la exportación + Exportar fallidos Export File... - Exportar el archivo + Exportar fichero... @@ -1507,273 +1058,238 @@ p, li { white-space: pre-wrap; } No error occurred. - No se produjeron errores. + No ha ocurrido ningún error. An error occurred while reading from the file. - Se produjo un error al leer el archivo. + Ha ocurrido un error mientras se leía desde el fichero. An error occurred while writing to the file. - Se produjo un error al escribir en el archivo. + Ha ocurrido un error mientras se escribía en el fichero. A fatal error occurred. - Se produjo un error fatal. + Ha ocurrido un error fatal. An resource error occurred. - Se produjo un error de recursos. + Ha ocurrido un error desde los recursos. The file could not be opened. - No se puede abrir el archivo. + El fichero no ha podido ser abierto. The operation was aborted. - Se abortó la operación. + La operación ha sido abortada. A timeout occurred. - Venció un temporizador. + Se ha alcanzado el tiempo máximo de espera. An unspecified error occurred. - Se produjo un error no especificado. + Ha ocurrido un error sin especificar. The file could not be removed. - No se puede eliminar el archivo. + El fichero no ha podido ser borrado. The file could not be renamed. - No se puede renombrar el archivo. + El fichero no ha podido ser renombrado. The position in the file could not be changed. - No se puede cambiar la posición en el archivo. + La posición en el fichero no ha podido ser cambiada. The file could not be resized. - No se puede redimensionar el archivo. + No se ha podido modificar el tamaño del fichero. The file could not be accessed. - No se puede acceder al archivo. + No se ha podido acceder al fichero. The file could not be copied. - No se puede copiar el archivo. + El fichero no ha podido ser copiado. GenPwDlg - - - Alt+U - Alt+U - - - - Alt+N - Alt+N - - - - Alt+M - Alt+M - - - - Alt+L - Alt+L - Password Generator - Generador de Contraseña - - - - Accep&t - &Aceptar - - - - &Cancel - &Cancelar + Generador de Contraseñas - - Generate - Generar + + Options + Opciones - - New Password: - Nueva Contraseña: + + Use follo&wing character groups: + Usar los siguientes grupos de carácteres: - - Quality: - Calidad: + + Alt+W + ALT+W - - Options - Opciones + + &Lower Letters + &Letras minúscula - - &Upper Letters - Mayúsc&ulas + + Alt+L + ALT+L - - &Lower Letters - Minúscu&las + + Alt+N + ALT+N - + &Numbers &Números - - &Special Characters - Carácteres E&speciales + + Alt+S + ALT+S - - Minus - Guión + + &Upper Letters + &Letras mayúsculas - - U&nderline - S&ubrayado + + Alt+U + ALT+U - - Alt+H - Alt+M + + &Special Characters + &Carácteres Especiales - + Use &only following characters: - Usar sól&o carácteres siguientes: + Usar &sólo los siguientes carácteres: Alt+O - Alt+O + ALT+O - + Length: Longitud: - - Use "/dev/rando&m" - Usar "/dev/rando&m" - - - - Use follo&wing character groups: - Usar &grupos de carácteres siguientes: + + Quality: + Calidad: - - Alt+W - Alt+G + + Enable entropy collection + Activar recolección entrópica - - White &Spaces - E&spacios + + Alt+M + ALT+M - - Alt+S - Alt+S + + Collect only once per session + Recolectar una vez por sesión - - Enable entropy collection - Habilitar la recopilación de entropía + + New Password: + Nueva Contraseña: - - Collect only once per session - Recopilar sólo una vez por sesión + + Generate + Generar Random - Aleatorio + Al azar - + &Underline - &Subrayar + &Subrayado - + &White Spaces - &Espacio en blanco + &Espacios en Blanco - + &Minus &Menos - + Exclude look-alike characters - Excluir carácteres similares + Excluir carácteres que se parezcan - + Ensure that password contains characters from every group - Asegurar que la contraseña tenga carácteres de cada grupo + Asegurarse que la contraseña contenga carácteres de todos los grupos - + Pronounceable - Pronounceable + Pronunciable - + Lower Letters - Letras Minúsculas + Letras minúsculas - + Upper Letters - Letras Mayúsculas + Letras mayúsculas - + Numbers Números - + Special Characters Carácteres Especiales @@ -1783,27 +1299,27 @@ p, li { white-space: pre-wrap; } XML Files (*.xml) - Archivos XML (*.xml) + Ficheros XML (*.xml) All Files (*) - Todos los archivos (*) + Todos los ficheros (*) Import Failed - Falló la importación + Fallo al Importar Invalid XML data (see stdout for details). - Datos XML no válidos (ver stdout para más detalles). + Datos XML Inválidos (Véase el stdout para detalles). Invalid XML file. - Archivo XML no válido. + Archivo XML Inválido. @@ -1816,28 +1332,29 @@ p, li { white-space: pre-wrap; } KeePass XML Files (*.xml) - Archivo XML de KeePassX + Archivos de KeePass XML (*.xml) All Files (*) - Todos los archivos (*) + Todos los ficheros (*) Import Failed - Falló la importación + Fallo al importar XML parsing error on line %1 column %2: %3 - Error de análisis sintáctico de XML en la línea %1 columna %2:%3 + Error en el interprete de XML en la línea %1 columna %2: +%3 Parsing error: File is no valid KeePassX XML file. - Error de análisis sintáctico: El archivo no es un archivo XML de KeePassX válido. + Error en al interpretar: El fichero no es un fichero KeePassX XML válido. @@ -1845,7 +1362,7 @@ p, li { white-space: pre-wrap; } PwManager Files (*.pwm) - Archivo de PwManager (*.pwm) + Archivos de PwManager (*.pwm) @@ -1855,52 +1372,52 @@ p, li { white-space: pre-wrap; } Import Failed - Falló la importación + Fallo al importar File is empty. - Archivo vacío. + El archivo está vacio. File is no valid PwManager file. - El archivo no es un archivo PwManager válido. + El archivo no es un archivo de PwManager válido. Unsupported file version. - Version de archivo no compatible. + La versión del archivo no tiene soporte. Unsupported hash algorithm. - Algoritmo hash no compatible. + Algoritmo de hash sin soporte. Unsupported encryption algorithm. - Algoritmo de cifrado no compatible. + Algoritmo de encriptación sin soporte. Compressed files are not supported yet. - No se admiten todavía archivos comprimidos. + La compresión de archivos no está soportada todavía. Wrong password. - Contraseña incorrecta. + Contraseña Incorrecta. File is damaged (hash test failed). - El archivo está dañado (comprobación hash fallida). + El archivo está dañado (fallo al testear hash). Invalid XML data (see stdout for details). - Datos XML no válidos (ver stdout para más detalles). + Datos XML Inválidos (Véase stdout para detalles). @@ -1908,12 +1425,12 @@ p, li { white-space: pre-wrap; } Import File... - Importar archivo... + Importar un archivo... Import Failed - Falló la importación + Fallo al importar @@ -1921,45 +1438,51 @@ p, li { white-space: pre-wrap; } Could not open file. - No se pudo abrir el archivo. + No se ha podido abrir el archivo. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) - Tamaño de fichero no esperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) + Tamaño de archivo inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature - Firma Incorrecta + Fallo en la firma Unsupported File Version. - Versión de archivo no compatible. + Versión del archivo sin soporte. Unknown Encryption Algorithm. - Algoritmo de cifrado desconocido. + Algoritmo de encriptación desconocido. Decryption failed. The key is wrong or the file is damaged. - Falló el descifrado.La contraseña es incorrecta o el archivo está dañado. + Desencriptación fallida. +La clave es erronea ó el archivo está dañado. Hash test failed. The key is wrong or the file is damaged. - Comprobación hash fallida. -La clave es incorecta o el fichero está dañado. + Fallo en la prueba de hash. +La clave es erronea ó el fichero está dañado. + + + + Unexpected error: Offset is out of range. + Error inesperado: El OffSet está fuera de rango. Invalid group tree. - Árbol de grupos no válido. + Arbol de grupo inválido. @@ -1969,27 +1492,17 @@ La clave es incorecta o el fichero está dañado. The database must contain at least one group. - La base de datos tiene que contener al menos un grupo. - - - - Could not open file for writing. - No se puede abrir el archivo para escritura. - - - - Unexpected error: Offset is out of range. - Error inesperado: El desplazamiento está fuera del rango. + La base de datos debe contener al menos un grupo. Unable to initalize the twofish algorithm. - Incapaz de iniciar el algoritmo twofish. + Imposible iniciar el algoritmo de twofish. The database has been opened read-only. - + La base de datos ha sido abierta en modo sólo lectura. @@ -2018,94 +1531,89 @@ La clave es incorecta o el fichero está dañado. KeepassEntryView - + + Delete? + Borrar? + + + + Error + Error + + + + At least one group must exist before adding an entry. + Al menos un grupo debe existir antes de añadir una nueva entrada. + + + + OK + OK + + + Title Título - + Username - Usuario + Nombre de usuario - + URL URL - + Password Contraseña - + Comments Comentarios - + Expires Expira - + Creation Creación - + Last Change - Último Cambio + Última modificación - + Last Access Último Acceso - + Attachment Adjunto - - %1 items - %1 elementos - - - - Delete? - ¿Borrar? - - - + Group Grupo - - - Error - Error - - - - At least one group must exist before adding an entry. - Tiene que existir al menos un grupo antes de añadir una entrada. - - - - OK - OK - Are you sure you want to delete this entry? - ¿Está seguro de que quiere borrar esta entrada? + ¿Estás seguro de que deseas borrar esta entrada? Are you sure you want to delete these %1 entries? - ¿Está seguro de que quiere borrar estas %1 entradas? + ¿Estás seguro de que quieres borrar estas %1 entradas? @@ -2113,718 +1621,353 @@ La clave es incorecta o el fichero está dañado. Search Results - Resultados de Búsqueda - - - - Groups - Grupos + Resultados de búsqueda Delete? ¿Borrar? - - - Are you sure you want to delete this group, all it's child groups and all their entries? - ¿Está seguro de que quiere borrar este grupo, todos los grupos hijos y todas las entradas? - Are you sure you want to delete this group, all its child groups and all their entries? - ¿Está seguro de que quiere borrar este grupo, todos los grupos hijos y todas las entradas? + ¿Estás seguro de que quieres borrar este grupo y todos sus sub-grupos y todas las entradas? KeepassMainWindow - + + Ready + Lísto + + + + Locked + Bloqueado + + + + Unlocked + Desbloqueado + + + Ctrl+O - Ctrl+A + CTRL+O - + Ctrl+S - Ctrl+G + CTRL+S - + + Ctrl+L + CTRL+L + + + + Ctrl+Q + CTRL+Q + + + Ctrl+G - Ctrl+G + CTRL+G - + Ctrl+C - Ctrl+C + CTRL+C - + Ctrl+B - Ctrl+B + CTRL+B - + Ctrl+U - Ctrl+U + CTRL+U - + Ctrl+Y - Ctrl+Y + CTRL+Y - + Ctrl+E - Ctrl+E + CTRL+E - + Ctrl+D - Ctrl+D + CTRL+D - + Ctrl+K - Ctrl+K + CTRL+K - + Ctrl+F - Ctrl+F + CTRL+F - + + Ctrl+V + CTRL+V + + + Ctrl+W - Ctrl+W + CTRL+W - + Shift+Ctrl+S - Shift+Ctrl+G + SHIFT+CTRL+S - + Shift+Ctrl+F - Shift+Ctrl+F + SHIFT+CTRL+F - + Error Error - - The following error occured while opening the database: -%1 - Ocurrió el siguiente error al intentar abrir la base de datos: -%1 - - - - OK - Aceptar - - - - Save modified file? - ¿Guardar archivo modificado? - - - - The current file was modified. Do you want -to save the changes? - El archivo actual ha sido modificado. -¿Desea guardar los cambios? - - - - Yes - - - - - No - No - - - - Cancel - Cancelar - - - - <B>Group: </B>%1 <B>Title: </B>%2 <B>Username: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Password: </B>%5 <B>Creation: </B>%6 <B>Last Change: </B>%7 <B>LastAccess: </B>%8 <B>Expires: </B>%9 - <b>Grupo: </b>%1 <b>Título: </b>%2 <b>Usuario: </b>%3 <b>URL: </b><a href="%4">%4</a> <b>Contraseña: </b>%5 <b>Creación: </b>%6 <b>Último Cambio: </b>%7 <b>Último Acceso: </b>%8 <b>Expira: </b>%9 - - - - Clone Entry - Duplicar Entrada - - - - Delete Entry - Eliminar Entrada - - - - Clone Entries - Duplicar Entradas - - - - Delete Entries - Eliminar Entradas - - - - File could not be saved. -%1 - Archivo no ha podido ser guardado. -%1 - - - - Save Database As... - Guardar Base de Datos Como... - - - - Ready - Listo - - - - [new] - [nuevo] - - - - Open Database... - Abrir Base de Datos... + + The database file does not exist. + El archivo de la base de datos no existe. - + Loading Database... - Cargando Base de Datos... + Cargando la base de datos... - + Loading Failed - Carga Fallida - - - - Could not create key file. The following error occured: -%1 - No se ha podido crear archivo de clave. Ha ocurrido el siguiente error: -%1 + Fallo al cargar - - Export To... - Exportar A... - - - - KeePassX [new] - KeePassX [nuevo] - - - - Unknown error in Import_PwManager::importFile()() - Error desconocido en Import_PwManager::importFile()() - - - - Unknown error in Import_KWalletXml::importFile() - Error desconocido en Import_KWalletXml::importFile() + + Unknown error while loading database. + Error desconocido mientras se cargaba la base de datos - - Ctrl+V - Ctrl+V + + The following error occured while opening the database: + El siguiente error ha ocurrido mientras se abría la base de datos: - - Show Toolbar - Mostrar Barra de herramientas + + Save modified file? + ¿Guardar el archivo modificado? - - KeePassX - KeePassX + + new + Nuevo - - Unknown error while loading database. - Error desconocido al cargar la base de datos. + + Open Database... + Abrir base de datos... - + KeePass Databases (*.kdb) - Base de datos de KeePass (*.kdb) + Bases de Datos de KeePass (*.kdb) - + All Files (*) Todos los archivos (*) - - Save Database... - Guardar base de datos + + Expired + Expirado - + 1 Month 1 Mes - - %1 Months - %1 Meses - - - - 1 Year - 1 Año - - - - %1 Years - %1 Años - - - - 1 Day - 1 Día - - - - %1 Days - %1 Días - - - - less than 1 day - menos de 1 día - - - - Locked - Bloqueado - - - - Unlocked - Desbloqueado - - - - Ctrl+L - Ctrl+L - - - - Ctrl+Q - Ctrl+Q - - - - The database file does not exist. - El archivo de la base de datos no existe. - - - - new - nuevo - - - - Expired - Expirada - - - - Un&lock Workspace - Desb&loquear área de trabajo - - - - &Lock Workspace - B&loquear área de trabajo - - - - The following error occured while opening the database: - Se produjo el siguiente errore al abrir la base de datos: - - - - File could not be saved. - No se puedo guardar el archivo. - - - - Show &Toolbar - Mostrar &Barra de herramientas - - - - Ctrl+N - Ctrl+N - - - - Ctrl+P - Ctrl+P - - - - Ctrl+X - Ctrl+X - - - - Ctrl+I - Ctrl+I - - - - Database locked - Base de datos bloqueada - - - - The database you are trying to open is locked. -This means that either someone else has opened the file or KeePassX crashed last time it opened the database. - -Do you want to open it anyway? - La base de datos que usted quiere abrir esta bloqueada. Esto significa que alguien ha abierto el archivo o que KeePassX se cayó la última vez que se abrio la base de datos. ¿Quiere abrirlo de todas maneras? - - - - Couldn't create database lock file. - No se pudo crear un archivo bloqueador en la base de datos - - - - The current file was modified. -Do you want to save the changes? - Este archivo ha sido modificado. ¿Quiere guardar los cambios? - - - - Couldn't remove database lock file. - No se pudo remover al archivo bloqueador en la base de datos. - - - - Open read-only - - - - - Couldn't create lock file. Opening the database read-only. - - - - - Main - - - Error - Error - - - - File '%1' could not be found. - Archivo '%1' no encontrado. - - - - OK - OK - - - - MainWindow - - - KeePassX - KeePassX - - - - File - Archivo - - - - Import from... - Importar desde... - - - - View - Ver - - - - Columns - Columnas - - - - Extras - Preferencias - - - - Help - Ayuda - - - - New Database... - Nueva Base de Datos... - - - - Open Database... - Abrir Base de Datos... - - - - Close Database - Cerrar Base de Datos - - - - Save Database - Guardar Base de Datos - - - - Save Database As... - Guardar Base de Datos Como... - - - - Database Settings... - Preferencias de Base de Datos... - - - - Change Master Key... - Cambiar Clave Maestra... - - - - Exit - Salir - - - - PwManager File (*.pwm) - PwManager (*.pwm) - - - - KWallet XML-File (*.xml) - KWallet, archivo XML (*.xml) - - - - Add New Group... - Añadir Nuevo Grupo... - - - - Edit Group... - Editar Grupo... - - - - Delete Group - Eliminar Grupo - - - - Copy Password to Clipboard - Copiar Contraseña al Portapapeles - - - - Copy Username to Clipboard - Copiar Usuario al Portapapeles - - - - Open URL - Abrir URL - - - - Save Attachment As... - Guardar Adjunto Como... + + %1 Months + %1 Meses - - Add New Entry... - Añadir Nueva Entrada... + + 1 Year + 1 Año - - View/Edit Entry... - Ver/Editar Entrada... + + %1 Years + %1 Años - - Delete Entry - Eliminar Entrada + + 1 Day + 1 Día - - Clone Entry - Duplicar Entrada + + %1 Days + %1 Días - - Search In Database... - Buscar en Base de Datos... + + less than 1 day + Menos de un día - - Search in this group... - Buscar en este grupo... + + Clone Entry + Entrada Duplicada - - Show Toolbar - Mostrar Barra de herramientas + + Delete Entry + Borrar Entrada - - Show Entry Details - Mostrar Detalles de Entradas + + Clone Entries + Entradas duplicadas - - Hide Usernames - Ocultar Usuarios + + Delete Entries + Borrar Entradas - - Hide Passwords - Ocultar Contraseñas + + File could not be saved. + El archivo no ha podido ser guardado. - - Title - Título + + Save Database... + Guardar la base de datos... - - Username - Usuario + + Un&lock Workspace + Desbloquear el área de trabajo - - URL - URL + + &Lock Workspace + &Bloquear el área de trabajo - - Password - Contraseña + + Show &Toolbar + Mostrar &Barra de herramientas - - Comment - Comentario + + Ctrl+N + CTRL+N - - Expires - Expira + + Ctrl+P + CTRL+P - - Creation - Creación + + Ctrl+X + CTRL+X - - Last Change - Último Cambio + + Ctrl+I + CTRL+I - - Last Access - Último Acceso + + Database locked + Base de datos bloqueada - - Attachment - Adjunto + + The database you are trying to open is locked. +This means that either someone else has opened the file or KeePassX crashed last time it opened the database. + +Do you want to open it anyway? + La base de datos que estás intentando abrir está bloqueada. +Esto significa que alguien ha abierto este archivo ó que KeePassX falló la última vez que abrió la base de datos. +¿Quieres abrirlo aún así? - - Settings... - Preferencias... + + The current file was modified. +Do you want to save the changes? + El actual archivo ha sido modificado. +¿Quieres guardar los cambios? - - About... - Acerca de... + + Couldn't remove database lock file. + No se ha podido eliminar el bloqueo del archivo. - - Edit - Editar + + Open read-only + Abrir en modo Sólo Lectura - - Show Statusbar - Mostrar Barra de estado + + Couldn't create lock file. Opening the database read-only. + No se ha podido crear el archivo de bloqueo. Abriendo la base de datos en modo sólo lectura. + + + Main - - Export to... - Exportar a... + + Error + Error - - KeePassX Handbook... - Manual de KeePassX... + + File '%1' could not be found. + El archivo '%1' no ha podido ser encontrado. + + + MainWindow - - Plain Text (*.txt) - Texto Plano (*.txt) + + KeePassX + KeePassX - - Hide - Ocultar + + Groups + Grupos - - &View - &Ver + + &Help + &Ayuda &File - &Archivo - - - - &Import from... - &Importar desde... + &Fichero @@ -2832,89 +1975,79 @@ Do you want to save the changes? &Exportar a... - - &Edit - &Editar + + &Import from... + &Importar desde... + + + + &View + &Ver E&xtras E&xtras - - - &Help - &Ayuda - &Open Database... - &Abrir base de datos... + &Abrir Base de Datos.. &Close Database - &Cerrar bases de datos + &Cerrar Base de Datos &Save Database - &Guardar base de datos + &Guardar Base de Datos Save Database &As... - Guardar base de datos &como... + Guardar Base de Datos c&omo... &Database Settings... - Configuración de la base de &datos + A&justes de la Base de Datos... Change &Master Key... - Cambiar contraseña &maestra... + Cambiar la contraseña &Maestra... + + + + &Lock Workspace + &Bloquear el área de trabajo &Settings... - &Preferencias... + Aj&ustes... &About... - &Acerca de... + Ac&erca de... &KeePassX Handbook... - Manual de &KeePassX... - - - - Standard KeePass Single User Database (*.kdb) - Base de datos estándar de KeePass para un único usuario (*.kdb) + &Libro de mano de KeePassX - - Advanced KeePassX Database (*.kxdb) - Base de datos avanzada de KeePass (*.kxdb) + + Hide + Ocultar Recycle Bin... - Papelera de reciclaje... - - - - Groups - Grupos - - - - &Lock Workspace - B&loquear área de trabajo + Papelera... @@ -2924,28 +2057,23 @@ Do you want to save the changes? Toolbar &Icon Size - Tamaño de los &iconos de la barra de herramientas + Tamaño de &iconos &Columns - &Columnas + Co&lumnas &Manage Bookmarks... - &Gestionar marcadores + Maneja&r Marcadores &Quit &Salir - - - &Add New Group... - &Añadir nuevo grupo... - &Edit Group... @@ -2954,32 +2082,32 @@ Do you want to save the changes? &Delete Group - &Borrar grupo + &Borrar Grupo Copy Password &to Clipboard - Copiar la con&traseña al portapapeles + Copiar contraseña al por&tapapeles Copy &Username to Clipboard - Copiar la nombre de &usuario al portapapeles + Copiar el &Nombre de usuario al portapapeles &Open URL - Abrir URL + &Abrir URL &Save Attachment As... - &Guardar archivo adjunto como... + &Guardar Adjunto como... Add &New Entry... - Añadir &nueva entrada... + Añadir &Nueva Entrada @@ -2989,37 +2117,37 @@ Do you want to save the changes? De&lete Entry - Bo&rrar entrada + Bo&rrar Entrada &Clone Entry - &Clonar entrada + Clo&nar Entrada Search &in Database... - Buscar e&n la base de datos + Buscar &en la Base de Datos... Search in this &Group... - Buscar en este &grupo... + Buscar en este &Grupo... Show &Entry Details - Mostrar detalles de la &entrada + Mostrar Detalles de la &Entrada Hide &Usernames - Ocultar nombres de &usuario + Ocultar &Nombres de Usuario Hide &Passwords - Ocultar &contraseñas + Ocultar &Contraseñas @@ -3029,7 +2157,7 @@ Do you want to save the changes? User&name - &Nombre de usuario + Nombre de &Usuario @@ -3049,37 +2177,37 @@ Do you want to save the changes? E&xpires - E&xpira + &Expira C&reation - C&reación + &Creación &Last Change - Ú&ltimo cambio + &Último Cambio Last &Access - Último &acceso + Último &Acceso A&ttachment - Adjun&to + A&djunto Show &Statusbar - Mostrar barra de e&stado + Mostrar &Barra de Estado &Perform AutoType - %Utilizar Auto-escritura + &Realizar Auto-Escritura @@ -3099,57 +2227,62 @@ Do you want to save the changes? &New Database... - &Nueva base de datos... + &Nueva Base de Datos &Password Generator... - Generador de &contraseñas... + &Generador de Contraseñas... &Group (search results only) - &Grupo (sólo resultados de búsqueda) + &Grupo (Resultados de la búsqueda sólamente) Show &Expired Entries... - Mostar &entidades expiradas + Mostrar &Entradas expiradas... &Add Bookmark... - &Añadir marcador... + &Añadir Marcador... Bookmark &this Database... - Añadir marcador a es&ta base de datos... + Marcar &ésta Base de Datos... &Add New Subgroup... - &Añadir Subgrupo Nuevo... + &Añadir Nuevo Subgrupo... Copy URL to Clipboard - Copiar URL al Portapapeles + Copiar URL desde el portapapeles + + + + Add New Group... + Añadir un nuevo grupo... &Entries - + &Entradas &Groups - + &Grupos Sort groups - + Acortar grupos @@ -3157,7 +2290,7 @@ Do you want to save the changes? Manage Bookmarks - Gestionar marcadores + Gestionar Marcadores @@ -3165,17 +2298,17 @@ Do you want to save the changes? Enter Master Key - Introducir clave maestra + Escribe la Contraseña Maestra Set Master Key - Establecer clave maestra + Ajustar la contraseña Maestra Change Master Key - Cambiar clave maestra + Cambiar la Contraseña Maestra @@ -3190,88 +2323,81 @@ Do you want to save the changes? Select a Key File - Seleccione un archivo de contraseñas + Seleccionar un archivo de llave All Files (*) - Todos los archivos (*) + Todos los Archivos (*) Key Files (*.key) - Archivos de contraseñas (*.key) + Archivos Llave (*.key) Please enter a Password or select a key file. - Introduzca una contraseña o seleccione un archivo de contraseñas. + Por favor introduce una contraseña ó selecciona un archivo de llave. Please enter a Password. - Introduzca una Contraseña. + Por favor, escribe una contraseña. Please provide a key file. - Introduzca un archivo de contraseñas. + Por favor, selecciona una llave de archivo. %1: No such file or directory. - %1:No existe el archivo o directorio. + %1: +No existe el fichero ó el directorio. The selected key file or directory is not readable. - No se puede leer el archivo o directorio de las contraseñas. + El archivo llave seleccionado ó el directorio no son legibles. The given directory does not contain any key files. - El directorio especificado no contiene ningún archivo de contraseñas. + El directorio seleccionado no contiene ningún archivo llave. The given directory contains more then one key files. Please specify the key file directly. - El directorio especificado contiene más de un archivo de contraseñas.Por favor, especifique el archivo de contraseñas directamente. + El directorio seleccionado contiene más de un archivo llave. +Por favor, especifica cuál es el archivo directamente. %1: File is not readable. - %1:No se puede leer el archivo. + %1: +El archivo no es legible. Create Key File... - Crear un archivo de contraseñas... + Crear un archivo llave... PasswordDlg - - OK - Aceptar - - - - ... - ... - - - - Cancel - Cancelar + + Last File + Último Archivo Enter a Password and/or choose a key file. - Introduzca una Contraseña y/o seleccione un archivo de clave. + Escribe una contraseña y/o selecciona un archivo llave. @@ -3283,11 +2409,6 @@ File is not readable. Password: Contraseña: - - - Key file or directory: - Archivo o directorio de clave: - &Browse... @@ -3296,333 +2417,143 @@ File is not readable. Alt+B - Alt+N - - - - Use Password AND Key File - Usar Contraseña Y Archivo de Clave - - - - Exit - Salir - - - - Password Repet.: - Contraseña (repetida): - - - - Last File - Último archivo + ALT+B Key File: - Archivo de contraseñas: + Archivo Llave: - + Generate Key File... - Generar archivo de contraseñas... + Generar Archivo Llave... - + Please repeat your password: - Por favor, repita la contraseña: + Por favor, repite tu contraseña: - + Back - Volver + Atrás - + Passwords are not equal. Las contraseñas no son iguales. - - PwDatabase - - - Unknown Error - Error Desconocido - - - - Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) - Tamaño de fichero inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) - - - - Wrong Signature - Firma Incorrecta - - - - AES-Init Failed - Falló inicialización de AES - - - - Hash test failed. -The key is wrong or the file is damaged. - Comprobación hash fallida. -La clave es incorecta o el fichero está dañado. - - - - Could not open key file. - No se pudo abrir archivo de clave. - - - - Key file could not be written. - No se pudo escribir archivo de clave. - - - - Could not open file. - No se pudo abrir el archivo. - - - - QObject - - - Warning - Advertencia - - - - Could not save configuration file. -Make sure you have write access to '~/.keepass'. - No se pudo guardar el archivo de configuración. -Asegúrese de tener acceso para escritura en '~/.keepass'. - - - - OK - Aceptar - - - - File '%1' could not be found. - Archivo '%1' no encontrado. - - - - File not found. - Archivo no encontrado. - - - - Could not open file. - No se pudo abrir el archivo. - - - - File is no valid PwManager file. - El archivo no es un archivo PwManager válido. - - - - Unsupported file version. - Version de archivo no soportada. - - - - Unsupported hash algorithm. - Algoritmo hash no soportado. - - - - Unsupported encryption algorithm. - Algoritmo de cifrado no soportado. - - - - Compressed files are not supported yet. - Los archivos comprimidos todavía no están soportados. - - - - Wrong password. - Contraseña incorrecta. - - - - File is damaged (hash test failed). - El archivo está dañado (comprobación hash fallida). - - - - Invalid XML data (see stdout for details). - Datos XML no válidos (ver stdout para más detalles). - - - - File is empty. - Archivo vacío. - - - - Invalid XML file (see stdout for details). - Archivo XML no válido (ver stdout para más detalles). - - - - Invalid XML file. - Archivo XML no válido. - - - - Document does not contain data. - El documento no contiene datos. - - - - Error - Error - - - - Never - Nunca - - - - Could not locate library file. - No se puede localizar el archivo de la biblioteca. - - SearchDialog - - Search - Buscar - - - - Search_Dlg - - - Alt+T - Alt+T - - - - Alt+U - Alt+U - - - - A&nhang - &Adjunto - - - - Alt+N - Alt+A - - - - Alt+W - Alt+C - - - - Alt+C - Alt+M + + Search + Buscar + + + Search_Dlg Search... Buscar... - - Search For: - Buscar: + + Include: + Incluir: - - Regular E&xpression - E&xpresión Regular + + Pass&words + Contras&eñas - - Alt+X - Alt+X + + Alt+W + ALT+W - - &Case Sensitive - Distinguir &Mayúsculas + + A&nhang + Col&gado - - Include: - Incluir: + + Alt+N + ALT+N - - &Titles - &Títulos + + U&RLs + U&RLs - - &Usernames - &Usuarios + + Alt+R + ALT+R - + C&omments C&omentarios Alt+O - Alt+O + ALT+O - - U&RLs - U&RLs + + &Usernames + &Nombres de Usuario - - Alt+R - Alt+R + + Alt+U + ALT+U - - Pass&words - &Contraseñas + + &Titles + &Títulos - - Search - Buscar + + Alt+T + ALT+T - - Clo&se - C&errar + + &Case Sensitive + &Sensible a las mayúsculas y minúsculas - - Alt+S - Alt+E + + Alt+C + ALT+C + + + + Regular E&xpression + E&xpresión Regular + + + + Alt+X + ALT+X - + Include Subgroups (recursive) - Incluir Subgrupos (recursivo) + Incluir sub-grupos (recursivo) + + + + Search For: + Buscar para: @@ -3632,183 +2563,133 @@ Asegúrese de tener acceso para escritura en '~/.keepass'.Icon Selection Selección de icono - - - Cancel - Cancelar - SettingsDialog - - - Alt+Ö - Alt+Ö + + + Settings + Ajustes - - O&K - &Aceptar + + Show system tray icon + Mostrar icono de sistema - - Alt+K - Alt+A + + Minimize to tray instead of taskbar + Minimizar al icono de sistema en vez de a la barra de tareas - - Settings - Preferencias + + Minimize to tray when clicking the main window's close button + Minimizar al icono de sistema cuando se hace click en el botón de cerrar de la ventana principal - - &Cancel - &Cancelar + + Remember last opened file + Recordar último archivo abierto + + + + Alt+Ö + ALT+Ö - - Clear clipboard after: - Borrar portapapeles después de: + + Remember last key type and location + Recordar último típo de clave y la localización + + + + Start minimized + Iniciar minimizado + + + + Start locked + Iniciar bloqueado - - Seconds - Segundos + + Save recent directories of file dialogs + Guardar los directorios recientes de los diálogos de archivos - - Sh&ow passwords in plain text by default - M&ostrar contraseñas en texto plano por defecto + + Clear History Now + Borrar Historial Ahora - - Appea&rance - Apa&riencia + + Always ask before deleting entries or groups + Siempre preguntar antes de borrar entradas ó grupos - + Banner Color - Color de las cabeceras + Color del banner - + Text Color: - Color de Texto: + Color del Texto: - + Change... Cambiar... - + Color 2: Color 2: - + C&hange... - Ca&mbiar... + C&ambiar... Alt+H - Alt+M + ALT+H - + Color 1: Color 1: - - Expand group tree when opening a database - Expandir árbol de grupo al abrir la base de datos - - - - &Other - &Otros - - - - Remember last opend file - Recordar último archivo abierto - - - - Browser Command: - Comando del Navegador: - - - - Securi&ty - Seguri&dad - - - + Alternating Row Colors - Alternar Colores de Columna - - - - Browse... - Navegar... - - - - Remember last key type and location - Recordar último tipo de clave y localización - - - - Remember last opened file - Recordar el último archivo abierto - - - - The integration plugins provide features like usage of the native file dialogs and message boxes of the particular desktop environments. - Las extensiones de integración ofrecen funcionalidades como el uso de cuadros de diálogo y mensajes nativos entornos de escritorio particulares. - - - - General - General - - - - Show system tray icon - Mostrar icono en la bandeja del sistema - - - - Minimize to tray when clicking the main window's close button - Minimizar a la bandeja al hacer click en el botón de cerrar de la ventana principal + Alternar la tabla de Colores - - Save recent directories of file dialogs - Guardar los directorios recientes de los cuadros de diálogo de archivos + + Customize Entry Detail View... + Personalizar Visualización de detalles de la entrada - + Group tree at start-up: Árbol de grupos al inicio: - + Restore last state - Restaurar el último estado + Restaurar último estado - + Expand all items - Expandir todos los elementos + Expandir todos los objetos - + Do not expand any item - No expandir ningún elemento + No expandir ningún objeto @@ -3816,42 +2697,62 @@ Asegúrese de tener acceso para escritura en '~/.keepass'.Seguridad - + Edit Entry Dialog - Editar cuadro de diálogo de entradas + Diálogo de Edición de Entrada - - Desktop Integration - Integración con el escritorio + + Alt+O + ALT+O + + + + Clear clipboard after: + Limpiar el portapapeles despues: + + + + Lock workspace when minimizing the main window + Bloquear el área de trabajo cuando se minimize la ventana principal - + + You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. + Tú puedes desactivar varias funcionalidades de KeePassX aquí de acuerdo con tus necesidades para mantener tu apariencia mínima. + + + + Bookmarks + Marcadores + + + Plug-Ins - Extensiones + Añadidos - + None Ninguno - + Gnome Desktop Integration (Gtk 2.x) - Integración con Gnome (Gtk 2.x) + Integración del Escritorio GNOME (GTK 2.x) - + KDE 4 Desktop Integration - Integración con KDE 4 + Integración del Escritorio KDE 4 - + You need to restart the program before the changes take effect. - Se necesita reiniciar el programa antes de que los cambios tengan efecto. + Necesitas reiniciar el programa para que los cambios surtan efecto. - + Configure... Configurar... @@ -3861,149 +2762,104 @@ Asegúrese de tener acceso para escritura en '~/.keepass'.Avanzado - - Clear History Now - Borrar ahora el historial - - - - Always ask before deleting entries or groups - Preguntar siempre antes de borrar entradas o grupos - - - - Customize Entry Detail View... - Personalizar la vista detallada de entradas - - - - Features - Funcionalidades - - - - You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. - Aquí se pueden deshabilitar funcionalidades de KeePassX de acuerdo a tus prefencias para mantener la interfaz símple - - - - Bookmarks - Marcadores - - - + Auto-Type Fine Tuning - Ajuste fino de auto-escritura + Mejoras Auto-Escritura - + Time between the activation of an auto-type action by the user and the first simulated key stroke. - Tiempo entre la activación por el usuario de una acción de auto-completar y la primera pulsación de tecla simulada. + Tiempo desde la activación de Auto-Escritura por el usuario hasta la primera tecla simulatada. - + ms ms - + Pre-Gap: - Hueco previo: + Pre-Vacio: - + Key Stroke Delay: - Retraso en la pulsación de teclas: + Lapso Primera Pulsación: - + Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. - Retraso ente dos pulsaciones de tecla simuladas. Incrementar en caso de que auto-completar se salte caracteres aleatoriamente. - - - - The directory where storage devices like CDs and memory sticks are normally mounted. - El directorio en el que se suelen monar los dispositivos como CDs y unidades de memoria. + Lapso entre dos presiones simuladas. Aumentar en caso de que Auto-Escritura esté aleatoriamente saltándose carácteres. - - Media Root: - Raíz de los medios: + + Custom Browser Command + Comando de Navegador Personalizado - - 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. - Habilitar si se quiere usar los marcadores y el último archivo abierto de forma independiente de las rutas absolutas. Esto es especialmente útil cuando se usa KeePassX en varios equipos y por lo tanto cambian los puntos de montaje del sistema de archivos. + + Browse + Navegar - - Save relative paths (bookmarks and last file) - Guardar rutas relativas (marcadores y último archivo) + + Media Root: + Directorio Maestro: - - Minimize to tray instead of taskbar - Minimizar a la bandeja en vez de a la barra de tareas + + The directory where storage devices like CDs and memory sticks are normally mounted. + El directorio en el cuál los medios como los CD's y los lapiceros USB son montados. - - Start minimized - Iniciar minimizado + + Browse... + Navegar... - - Start locked - Iniciar bloqueado + + 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. + Activa esta opción si quieres usar tus marcadones y el último archivo abierto independientemente de sus rutas completas. Esto es útil cuando estás usando KeePassX Portable y hay cambios en los puntos de montaje en el sistema de archivos. - - Lock workspace when minimizing the main window - Bloquear el área de trabajo cuando se minimice la ventana principal + + Save relative paths (bookmarks and last file) + Guardar rutas relativas (Marcadores y último archivo) - + Global Auto-Type Shortcut: - Combinación de teclas para la Auto-escritura global: - - - - Custom Browser Command - Navegador web personalizado - - - - Browse - Navegar + Acceso rápido Global a Auto-Escritura: - + Automatically save database on exit and workspace locking - Guardar la base de datos automáticamente al salir y al bloquear el área de trabajo. + Automáticamente guardar la base de datos al salir y al bloquear el área de trabajo - + Show plain text passwords in: - Mostrar las contraseñas con texto sin formato en: + Mostrar contraseñas en texto plano en: - + Database Key Dialog - Diálogo de claves de la base de datos + Diálogo de la clave de la Base de Datos - + seconds - segundos + Segundos - + Lock database after inactivity of - Bloquear la base de datos tras una inactividad de + Bloquear la base de datos en un periodo de inactividad de - + Use entries' title to match the window for Global Auto-Type - Usar el título de las entradas para buscar la ventana correspondiente para la auto-escritura global + Usar títulos de entradas para que coincidan con la ventana para Auto-Escritura @@ -4023,35 +2879,35 @@ Asegúrese de tener acceso para escritura en '~/.keepass'. Language - Idioma + Lenguaje - + Save backups of modified entries into the 'Backup' group - Guardar reserras de archivos modificados en group 'reserva' + Guardar copias de seguridad de las entradas modificadas en el grupo 'Copias de Seguridad' - + Delete backup entries older than: - Borrar archivos de reserva fechados después de: + Borrar entradas de copias de seguridad más antigüas de: - + days - días + Días - + Automatically save database after every change - Automáticamente guardar base de datos después de cada cambrio + Guardar automáticamente la base de datos despues de cualquier cambio - + Language: - Idioma: + Lenguaje: - + Author: Autor: @@ -4061,22 +2917,22 @@ Asegúrese de tener acceso para escritura en '~/.keepass'. Ctrl - Ctrl + CTRL Shift - Shift + SHIFT Alt - Alt + ALT AltGr - AltGr + ALTGR @@ -4086,79 +2942,29 @@ Asegúrese de tener acceso para escritura en '~/.keepass'. SimplePasswordDialog - - - O&K - &Aceptar - - - - Alt+K - Alt+A - - - - Alt+C - Alt+C - - - - ... - ... - Enter your Password - Introduzca su Contraseña + Introduce tu contraseña Password: Contraseña: - - - &Cancel - &Cancelar - - - - StandardDatabase - - - Could not open file. - No se pudo abrir el archivo. - - - - Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) - Tamaño de fichero inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) - - - - Wrong Signature - Firma Incorrecta - - - - Hash test failed. -The key is wrong or the file is damaged. - Comprobación hash fallida. -La clave es incorecta o el fichero está dañado. - TargetWindowDlg Auto-Type: Select Target Window - Auto-escritura:Seleccionar Ventana Deseada + Auto-Escritura: Selecciona la Ventaa To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: - Para especificar la ventana deseada, seleccione una ventana corriente abierta de la lista, o escriba el título de la ventana manualmente. + Para especificar la ventana a elegir, selecciona una ya abierta expandiendo la lista ó introduce el título de la venta manualmente: @@ -4166,32 +2972,19 @@ from the drop-down list, or enter the window title manually: $TRANSLATION_AUTHOR - Jaroslaw Filiochowski, Marcos del Puerto + Cross $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. - + http://genlinux.wordpress.com $LANGUAGE_NAME Insert your language name in the format: English (United States) - - - - - TrashCanDialog - - - Title - Título - - - - Username - Usuario + Spanish (Spain) @@ -4199,7 +2992,7 @@ from the drop-down list, or enter the window title manually: Form - Formulario + Forma @@ -4207,65 +3000,17 @@ from the drop-down list, or enter the window title manually: p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> - <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">El área de trabajo está bloqueada.</span></p></body></html> + <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> Unlock - Bloquear + Desbloquear Close Database - Cerrar base de datos - - - - dbsettingdlg_base - - - Database Settings - Preferencias de Base de Datos - - - - Encryption - Cifrado - - - - Algorithm: - Algoritmo: - - - - ? - ? - - - - Encryption Rounds: - Iteraciones de Cifrado: - - - - O&K - &Aceptar - - - - Ctrl+K - Ctrl+A - - - - &Cancel - &Cancelar - - - - Ctrl+C - Ctrl+C + Cerrar Base de Datos diff --git a/src/translations/keepassx-it_IT.ts b/src/translations/keepassx-it_IT.ts index 4275679..d686c15 100644 --- a/src/translations/keepassx-it_IT.ts +++ b/src/translations/keepassx-it_IT.ts @@ -544,7 +544,7 @@ Sei sicuro? System Language - + Lingua di sistema @@ -1123,7 +1123,7 @@ p, li { white-space: pre-wrap; } Export File... - + Esporta file... @@ -1329,57 +1329,57 @@ p, li { white-space: pre-wrap; } Random - + Casuale &Underline - + &Sottolinea &White Spaces - + S&pazi bianchi &Minus - + &Meno Exclude look-alike characters - + Escludi caratteri identici Ensure that password contains characters from every group - + Assicurati che la password contenga caratteri di ogni gruppo Pronounceable - + Pronunciabile Lower Letters - + Lettere minuscole Upper Letters - + Lettere maiuscole Numbers - + Numeri Special Characters - + Caratteri speciali @@ -1590,12 +1590,12 @@ La chiave è errata oppure il file è danneggiato. Unable to initalize the twofish algorithm. - + Impossibile inizializzare l'algoritmo twofish. The database has been opened read-only. - + Il database è stato aperto in sola lettura. @@ -1629,72 +1629,72 @@ La chiave è errata oppure il file è danneggiato. Eliminare? - + Error Errore - + At least one group must exist before adding an entry. Deve esistere almeno un gruppo prima di aggiungere una voce. - + OK OK - + Title Titolo - + Username Nome utente - + URL URL - + Password Password - + Comments Commenti - + Expires Scade - + Creation Creazione - + Last Change Ultima modifica - + Last Access Ultimo accesso - + Attachment Allegato - + Group Gruppo @@ -1729,23 +1729,23 @@ La chiave è errata oppure il file è danneggiato. Are you sure you want to delete this group, all its child groups and all their entries? - + Sei sicuro di voler eliminare questo gruppo, tutti i suoi sottogruppi e le loro voci? KeepassMainWindow - + Ready Pronto - + Locked Bloccato - + Unlocked Sbloccato @@ -1845,12 +1845,12 @@ La chiave è errata oppure il file è danneggiato. Il file di database non esiste. - + Loading Database... Caricamento Database... - + Loading Failed Caricamento fallito @@ -1877,7 +1877,7 @@ to save the changes? salvare le modifiche? - + new nuovo @@ -1887,97 +1887,97 @@ salvare le modifiche? Apri Database... - + KeePass Databases (*.kdb) Database KeePass (*.kdb) - + All Files (*) Tutti i files (*) - + Expired Scaduta - + 1 Month 1 Mese - + %1 Months %1 Mesi - + 1 Year 1 Anno - + %1 Years %1 Anni - + 1 Day 1 Giorno - + %1 Days %1 Giorni - + less than 1 day meno di 1 giorno - + Clone Entry Duplica voce - + Delete Entry Elimina voce - + Clone Entries Duplica voci - + Delete Entries Elimina voci - + File could not be saved. Impossibile salvare il file. - + Save Database... Salva Database... - + Un&lock Workspace Sb&locca l'area di lavoro - + &Lock Workspace &Blocca l'area di lavoro - + Show &Toolbar Mostra barra degli &strumenti @@ -1999,12 +1999,12 @@ salvare le modifiche? Ctrl+I - + Ctrl+I Database locked - + Database bloccato @@ -2012,28 +2012,31 @@ salvare le modifiche? This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? - + Il database che stai tentando di aprire è bloccato. +Questo significa che qualcun altro ha aperto il file o che KeePassX si è bloccato l'ultima volta che si è aperto il database. + +Vuoi comunque aprirlo? The current file was modified. Do you want to save the changes? - + Il file attuale è stato modificato. Vuoi salvare le modifiche? Couldn't remove database lock file. - + Impossibile rimuovere il file di blocco del database. Open read-only - + Apri in sola lettura - + Couldn't create lock file. Opening the database read-only. - + Impossibile creare il file di blocco. Apertura del database in sola lettura. @@ -2384,32 +2387,32 @@ Do you want to save the changes? &Add New Subgroup... - + &Aggiungi nuovo sottogruppo... Copy URL to Clipboard - + Copia URL negli Appunti Add New Group... - + Aggiungi nuovo gruppo... &Entries - + &Voci &Groups - + &Gruppi Sort groups - + Ordina gruppi @@ -3024,52 +3027,52 @@ Il file non è leggibile. General (1) - + Generale (1) General (2) - + Generale (2) Appearance - + Aspetto Language - + Lingua Save backups of modified entries into the 'Backup' group - + Salva backup delle voci modificate nel gruppo 'Backup' Delete backup entries older than: - + Elimina le voci di backup più vecchie di: days - + giorni Automatically save database after every change - + Salva automaticamente il database dopo ogni modifica Language: - + Lingua: Author: - + Autore: @@ -3118,13 +3121,14 @@ Il file non è leggibile. Auto-Type: Select Target Window - + Auto Digitazione: seleziona la finestra da usare To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: - + Per specificare la finestra da usare, o selezioni una finestra attualmente aperta +dal menu a tendina, oppure inserisci il titolo della finestra manualmente: @@ -3132,19 +3136,19 @@ from the drop-down list, or enter the window title manually: $TRANSLATION_AUTHOR - Diego Pierotto + Diego Pierotto $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. - ita.translations@tiscali.it + ita.translations@tiscali.it $LANGUAGE_NAME Insert your language name in the format: English (United States) - + Italiano (Italia)