#
#
# patch "guitone/res/forms/preferences.ui"
# from [17a73a0cb32f54a7cc03eec748216e35acf659b9]
# to [4c7a832f0d210371eb68882a1f736ff150affdff]
#
# patch "guitone/res/i18n/guitone_de.ts"
# from [97b600c0fcd9f03fed152be692594f8a22876ed1]
# to [c547c0e7baf808aec3368eefa5f97d01a9981c6a]
#
# patch "guitone/src/Guitone.cpp"
# from [6913449e1cc80aaedc4f4b70d4e49db43f4faa85]
# to [a3673e29c1e23832700d69da44a3d62157d5e193]
#
# patch "guitone/src/Guitone.h"
# from [308ccb6cf259369f26927dd454feccb954918d25]
# to [39ee9b4581654307001c33dbd791252bf094d0bf]
#
# patch "guitone/src/view/InventoryView.cpp"
# from [429343b0120096ed5aff50c08e88b5b01a74e073]
# to [a54de14edd4781734f92726cee3c21faad15004a]
#
# patch "guitone/src/view/dialogs/Dialog.cpp"
# from [0fc11e87783526f1d650fecc3756af84b28b0afe]
# to [e9ecf89d39050a297c2aa5717aad76f1a8601a8f]
#
# patch "guitone/src/view/dialogs/Dialog.h"
# from [39a78dfcb52548eac3012ef78dab3de7cec9c3a3]
# to [ce52b7c6e4c2dba2ae4b83fdf37cbf1bcda2b0bb]
#
# patch "guitone/src/view/dialogs/Preferences.cpp"
# from [aee8e3701cad4b88fcc8f8d32f0fe836d7083b00]
# to [00aed581d2c8b7991731472f2e9e54cdbcb4771f]
#
============================================================
--- guitone/res/forms/preferences.ui 17a73a0cb32f54a7cc03eec748216e35acf659b9
+++ guitone/res/forms/preferences.ui 4c7a832f0d210371eb68882a1f736ff150affdff
@@ -5,30 +5,18 @@
0
0
- 453
- 278
+ 389
+ 352
3
- 0
+ 3
0
0
-
-
- 0
- 278
-
-
-
-
- 16777215
- 278
-
-
Qt::NoContextMenu
@@ -180,6 +168,31 @@
-
+
+
+ Miscellaneous
+
+
+
+ 9
+
+
+ 6
+
+
-
+
+
+ check for updates on application launch
+
+
+ true
+
+
+
+
+
+
+ -
0
============================================================
--- guitone/res/i18n/guitone_de.ts 97b600c0fcd9f03fed152be692594f8a22876ed1
+++ guitone/res/i18n/guitone_de.ts c547c0e7baf808aec3368eefa5f97d01a9981c6a
@@ -5,13 +5,18 @@
- <small>Version %1.%2</small>
+ <small>Version %1.%2</small>
-
+
<br/><br/>Autoren: <a href="mailto:address@hidden">Thomas Keller</a>, <a href="mailto:address@hidden">Ingo Maindorfer</a> und <a href="mailto:address@hidden">Jean-Louis Fuchs</a><br/><br/>Dieses Programm ist freie Software. Sie können es unter den<br/>Bedingungen der GNU General Public License, wie von der<br/>Free Software Foundation veröffentlicht, weitergeben und/oder<br/>modifizieren, entweder gemäà Version 2 der Lizenz oder <br/>(nach Ihrer Option) jeder späteren Version.<br/><br/>Fehler? Vorschläge? Hilfe? <a href="http://guitone.thomaskeller.biz">guitone Webseite</a><br/><br/>Vielen Dank an die freundlichen Seelen auf <a href="irc://irc.freenode.net/qt">#qt</a> für die Hilfe während der<br/>unendlich langen Programmierstunden - Ihr Jungs s
eid Spitze!
+
+
+
+ <small>Version %1</small>
+
AboutDialog
@@ -35,6 +40,24 @@
+ ApplicationUpdateDialog
+
+
+
+ Eine neue Version von guitone ist verfügbar!
+
+
+
+
+ Webseite besuchen
+
+
+
+
+ SchlieÃen
+
+
+
Attributes
@@ -586,12 +609,12 @@
Guitone
-
+
Fehler
-
+
Der Pfad zur ausführbaren Datei von monotone ist entweder ungültig oder zeigt auf eine ältere Version von monotone. Guitone benötigt monotone Version %1 oder ein monotone mit einer Interface-Version %2 oder neuer.
@@ -687,128 +710,273 @@
- &Hinzufügen
+ &Hinzufügen
-
+
Zum Arbeitsbereich hinzufügen
- En&tfernen
+ En&tfernen
-
+
Vom Arbeitsbereich entfernen
- &Einpflegen
+ &Einpflegen
-
+
Einpflegen
- Datei &ignorieren
+ Datei &ignorieren
-
+
Datei ignorieren
- Datei nicht ign&orieren
+ Datei nicht ign&orieren
-
+
Datei nicht mehr ignorieren
- &Zurücksetzen
+ &Zurücksetzen
-
+
Nicht eingepflegte Ãnderungen verwerfen
- Um&benennen
+ Um&benennen
-
+
Datei umbenennen
- U&nterschiede anzeigen
+ U&nterschiede anzeigen
-
+
Unterschiede im Vergleich zur Basisrevision anzeigen
- &Wechseln zu
+ &Wechseln zu
-
+
Wechsle in das Verzeichnis
- &Ãffnen
+ &Ãffnen
-
+
In Standardprogramm öffnen
-
+
Fehler
-
+
Die Datei, die Sie versucht haben zu öffnen, existiert nicht.
-
+
Kann keine Dateien auf Ihrer Plattform öffnen - bitte kontaktieren Sie den Autor über dieses Problem.
- Alle U&nterschiede anzeigen
+ Alle U&nterschiede anzeigen
-
+
Zeigt Unterschiede in allen Dateien
+
+
+
+ Keine gemeinsamen Aktionen auf selektierte Einträge anwendbar
+
+
+
+
+ Wechseln zu
+
+
+
+
+ Ãffnen
+
+
+
+
+ Hinzufügen
+
+
+
+
+ Entfernen
+
+
+
+
+ Datei ignorieren
+
+
+
+
+ Datei nicht ignorieren
+
+
+
+
+ Zurücksetzen
+
+
+
+
+ Unterschiede anzeigen
+
+
+
+
+ Alle Unterschiede anzeigen
+
+
+
+
+ Umbenennen
+
+
+
+
+ Füge %1 Einträge hinzu
+
+
+
+
+ Fügt mehrere Einträge hinzu
+
+
+
+
+ Entferne %1 Einträge
+
+
+
+
+ Entfernt mehrere Einträge
+
+
+
+
+ Pflege %1 Einträge ein
+
+
+
+
+ Pflegt mehrere Einträge ein
+
+
+
+
+ Ignoriere %1 Einträge
+
+
+
+
+ Ignoriert mehrere Einträge
+
+
+
+
+ Ignoriere %1 Einträge nicht mehr
+
+
+
+
+ Ignoriere mehrere Einträge nicht mehr
+
+
+
+
+ Setze %1 Einträge zurück
+
+
+
+
+ Setze mehrere Einträge zurück
+
+
+
+
+ Füge mehrere Einträge hinzu
+
+
+
+
+ Entferne mehrere Einträge
+
+
+
+
+ Pflege mehrere Einträge ein
+
+
+
+
+ Ignoriere mehrere Einträge
+
+
+
+
+ Ignoriere mehrere Einträge nicht mehr
+
+
+
+
+ Setze mehrere Einträge zurück
+
KeyManagement
@@ -904,67 +1072,67 @@
Hilfe
-
+
Arbeitsbereich
-
+
Datei
-
+
Vorherige Arbeitsbereiche
-
+
Arbeitsbereich öffnen
-
+
Strg+O
-
+
Keine vorherigen Arbeitsbereiche verfügbar.
- Einstellungen...
+ Einstellungen...
-
+
Strg+P
-
+
Beenden
-
+
Strg+Q
-
+
Ignorierte Dateien verstecken
-
+
Strg+H
-
+
Alle Dateien
@@ -974,7 +1142,7 @@
A
-
+
Alle geänderten Dateien
@@ -984,7 +1152,7 @@
G
-
+
Inhaltlich geänderte Dateien
@@ -994,7 +1162,7 @@
P
-
+
Hinzugefügte Dateien
@@ -1004,7 +1172,7 @@
H
-
+
Entfernte Dateien
@@ -1014,7 +1182,7 @@
E
-
+
Umbenannte Dateien
@@ -1024,7 +1192,7 @@
U
-
+
Fehlende Dateien
@@ -1034,7 +1202,7 @@
F
-
+
Unbekannte Dateien
@@ -1044,7 +1212,7 @@
K
-
+
Ignorierte Dateien
@@ -1054,12 +1222,12 @@
I
-
+
Baum aufklappen
-
+
Strg+T
@@ -1074,22 +1242,22 @@
Strg+R
-
+
Schlüsselverwaltung
-
+
Strg+K
-
+
Ãber Qt
-
+
Ãber guitone
@@ -1104,12 +1272,12 @@
guitone - ein Frontend für monotone
-
+
Wählen Sie Ihren Arbeitsbereich aus...
-
+
Laden abgebrochen
@@ -1124,102 +1292,102 @@
Das gewählte Verzeichnis ist kein monotone-Arbeitsverzeichnis!
-
+
Konnte Kommando nicht ausführen
-
+
Konnte '%1' nicht ausführen - eventuell läuft noch ein anderes Kommando?
-
+
Zeige ignorierte Dateien
-
+
Baum zuklappen
-
+
&%1 %2
-
+
Vorherige Datenbanken
-
+
Datenbank öffnen
-
+
Keine vorherigen geöffneten Datenbanken verfügbar.
-
+
Datenbank
-
+
Strg+Shift+O
-
+
Geladene Datenbank: %1
-
+
Wählen Sie eine Datenbank aus...
-
+
monotone-Datenbanken (*.mtn *.db)
-
+
Strg+B
-
+
Ãnderungen-Browser
-
+
SchlieÃen
-
+
Alt+A
-
+
Alt+C
-
+
Alt+P
-
+
Alt+N
@@ -1235,82 +1403,82 @@ oder respektive auf Datei > Datenbank
oder respektive auf Datei > Datenbank öffnen.
-
+
Fenster
-
+
Alt+D
-
+
Alt+R
-
+
Alt+M
-
+
Alt+U
-
+
Arbeitsbereich aktualisieren
-
+
Strg+U
-
+
Alt+I
-
+
Revision auschecken
-
+
Strg+Umschalt+U
-
+
Alle nach vorne bringen
-
+
%1 - Datenbankmodus - guitone
-
+
%1 - Arbeitsbereichmodus - guitone
-
+
Kein Arbeitsbereich oder Datenbank geladen - guitone
-
+
Konnte Arbeitsbereich nicht laden
-
+
-
+
Revision einpflegen
-
+
Strg+C
-
+
Konnte Arbeitsbereich nicht laden
-
+
-
+
Konnte Datenbank nicht laden
-
+
+
+
+
+ Einstellungen...
+
+
+
+
+ Auf Aktualisierungen prüfen
+
+
+
+
+ Keine Aktualisierungen verfügbar
+
+
+
+
+ Ihre Version von guitone (%1) ist bereits aktuell.
+
Manifest
@@ -1444,32 +1632,32 @@ monotone gab zurück:
Alle (Debugmeldungen)
-
+
Fehler
-
+
Der Pfad zur ausführbaren Datei von monotone ist entweder ungültig oder zeigt auf eine ältere Version von monotone. Guitone benötigt monotone Version %1 oder ein monotone mit einer Interface-Version %2 oder neuer.
-
+
Hinweis
-
+
Sie müssen Ihren derzeitigen Arbeitsbereich oder guitone neu laden, um die neue monotone-Binary zu nutzen.
-
+
Wählen Sie die ausführbare Datei von monotone
-
+
Binärdateien (mtn mtn.exe)
@@ -1477,50 +1665,60 @@ monotone gab zurück:
PreferencesDialog
-
+
Einstellungen
-
+
Pfad zur ausführbaren Datei von monotone
-
+
Durchsuchen
-
+
Logmeldungen
-
+
Konsolenlogging aktivieren
-
+
Dateilogging aktivieren (%1)
-
+
Log-Level
-
+
OK
-
+
Abbrechen
+
+
+
+ Verschiedenes
+
+
+
+
+ prüfe auf neue Versionen beim Start der Anwendung
+
QObject
@@ -1591,22 +1789,22 @@ value "%3"
QShortcut
-
+
Strg
-
+
Alt
-
+
Umschalt
-
+
Meta
============================================================
--- guitone/src/Guitone.cpp 6913449e1cc80aaedc4f4b70d4e49db43f4faa85
+++ guitone/src/Guitone.cpp a3673e29c1e23832700d69da44a3d62157d5e193
@@ -32,7 +32,8 @@
#include
#include
-Guitone::Guitone(int argc, char** argv) : QApplication(argc, argv)
+Guitone::Guitone(int argc, char** argv)
+ : QApplication(argc, argv), updateDialog(0)
{
setQuitOnLastWindowClosed(false);
@@ -43,9 +44,19 @@ bool Guitone::init()
bool Guitone::init()
{
+ if (Settings::getBool("CheckForUpdates", true))
+ {
#ifdef Q_WS_MAC
- CocoaUtil::initialize();
+ CocoaUtil::initialize();
+#else
+ updateDialog = new ApplicationUpdate(NULL);
+ if (updateDialog->updateAvailable())
+ {
+ updateDialog->setStayOnTop();
+ updateDialog->show();
+ }
#endif
+ }
MainWindow * mainWnd = addWindow();
if (!addMonotoneInstance(mainWnd))
@@ -68,6 +79,7 @@ Guitone::~Guitone()
{
Q_ASSERT(openWindows.size() == 0);
Q_ASSERT(monotoneInstances.size() == 0);
+ if (updateDialog) delete updateDialog;
}
void Guitone::loadWorkspace(const QString & path)
============================================================
--- guitone/src/Guitone.h 308ccb6cf259369f26927dd454feccb954918d25
+++ guitone/src/Guitone.h 39ee9b4581654307001c33dbd791252bf094d0bf
@@ -46,6 +46,7 @@
#include "MainWindow.h"
#include "Monotone.h"
+#include "ApplicationUpdate.h"
#include
#include
@@ -84,6 +85,8 @@ private:
QList openWindows;
QMap monotoneInstances;
QMutex lock;
+
+ ApplicationUpdate * updateDialog;
};
#endif
============================================================
--- guitone/src/view/InventoryView.cpp 429343b0120096ed5aff50c08e88b5b01a74e073
+++ guitone/src/view/InventoryView.cpp a54de14edd4781734f92726cee3c21faad15004a
@@ -377,27 +377,27 @@ void InventoryView::createAndConnectCont
connect(actRename, SIGNAL(triggered()), this, SLOT(slotRename()));
actAddMultiple = new QAction(tr("Add %1 items"), this);
- actAddMultiple->setStatusTip(tr("Add multiple files"));
+ actAddMultiple->setStatusTip(tr("Add multiple items"));
connect(actAddMultiple, SIGNAL(triggered()), this, SLOT(slotAdd()));
actRemoveMultiple = new QAction(tr("Remove %1 items"), this);
- actRemoveMultiple->setStatusTip(tr("Remove multiple files"));
+ actRemoveMultiple->setStatusTip(tr("Remove multiple items"));
connect(actRemoveMultiple, SIGNAL(triggered()), this, SLOT(slotRemove()));
actCommitMultiple = new QAction(tr("Commit %1 items"), this);
- actCommitMultiple->setStatusTip(tr("Commit multiple files"));
+ actCommitMultiple->setStatusTip(tr("Commit multiple items"));
connect(actCommitMultiple, SIGNAL(triggered()), this, SLOT(slotCommit()));
actIgnoreMultiple = new QAction(tr("Ignore %1 items"), this);
- actIgnoreMultiple->setStatusTip(tr("Ignore multiple files"));
+ actIgnoreMultiple->setStatusTip(tr("Ignore multiple items"));
connect(actIgnoreMultiple, SIGNAL(triggered()), this, SLOT(slotIgnore()));
actUnignoreMultiple = new QAction(tr("Unignore %1 items"), this);
- actUnignoreMultiple->setStatusTip(tr("Unignore multiple files"));
+ actUnignoreMultiple->setStatusTip(tr("Unignore multiple items"));
connect(actUnignoreMultiple, SIGNAL(triggered()), this, SLOT(slotUnignore()));
actRevertMultiple = new QAction(tr("Revert %1 items"), this);
- actRevertMultiple->setStatusTip(tr("Revert multiple files"));
+ actRevertMultiple->setStatusTip(tr("Revert multiple items"));
connect(actRevertMultiple, SIGNAL(triggered()), this, SLOT(slotRevert()));
}
============================================================
--- guitone/src/view/dialogs/Dialog.cpp 0fc11e87783526f1d650fecc3756af84b28b0afe
+++ guitone/src/view/dialogs/Dialog.cpp e9ecf89d39050a297c2aa5717aad76f1a8601a8f
@@ -66,13 +66,14 @@ int Dialog::execDocumentModal()
int Dialog::execDocumentModal()
{
// ensure that this is only called from top level windows
- Q_ASSERT(parent()->inherits("QMainWindow"));
+ QWidget * parent = parentWidget();
+ Q_ASSERT(parent && parent->inherits("QMainWindow"));
QMap enableState;
// disable all menu actions (for some reason disabling the menuBar itself
// does not result in the desired effect under OSX)
- QList list = qobject_cast(parent())->menuBar()->actions();
+ QList list = qobject_cast(parent)->menuBar()->actions();
foreach(QAction * act, list)
{
QList innerList = act->menu()->actions();
@@ -102,3 +103,9 @@ int Dialog::execDocumentModal()
return result();
}
+void Dialog::setStayOnTop()
+{
+ if (isVisible()) return;
+ setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
+}
+
============================================================
--- guitone/src/view/dialogs/Dialog.h 39a78dfcb52548eac3012ef78dab3de7cec9c3a3
+++ guitone/src/view/dialogs/Dialog.h ce52b7c6e4c2dba2ae4b83fdf37cbf1bcda2b0bb
@@ -32,6 +32,7 @@ public:
Dialog(QWidget*, QString);
~Dialog();
void init();
+ void setStayOnTop();
int execDocumentModal();
private:
============================================================
--- guitone/src/view/dialogs/Preferences.cpp aee8e3701cad4b88fcc8f8d32f0fe836d7083b00
+++ guitone/src/view/dialogs/Preferences.cpp 00aed581d2c8b7991731472f2e9e54cdbcb4771f
@@ -47,7 +47,12 @@ Preferences::Preferences(QWidget* parent
logLevel->addItem(tr("All (debug messages)"), 4);
logLevel->setCurrentIndex(DebugLog::getLogLevel()-1);
-
+
+ checkForUpdates->setCheckState(
+ Settings::getBool("CheckForUpdates", true) ?
+ Qt::Checked : Qt::Unchecked
+ );
+
connect(
selectMtnExecutable, SIGNAL(clicked()),
this, SLOT(openFileBrowser())
@@ -103,6 +108,8 @@ void Preferences::accept()
DebugLog::setConsoleLogEnabled(consoleEnabled);
DebugLog::setFileLogEnabled(fileEnabled);
DebugLog::setLogLevel(level);
+
+ Settings::setBool("CheckForUpdates", checkForUpdates->isChecked());
done(QDialog::Accepted);
}