#
#
# 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>
+ <small>Version %1.%2</small>
-
+
<br/><br/>Authors: <a href="mailto:address@hidden">Thomas Keller</a>, <a href="mailto:address@hidden">Ingo Maindorfer</a> and <a href="mailto:address@hidden">Jean-Louis Fuchs</a>.<br/><br/>This program is free software; you can redistribute it and/or modify<br/>it under the terms of the GNU General Public License as published by<br/>the Free Software Foundation; either version 2 of the License, or<br/>(at your option) any later version.<br/><br/>Bugs? Suggestions? Help? <a href="http://guitone.thomaskeller.biz">guitone Homepage</a><br/><br/>Many thanks go to the friendly guys at <a href="irc://irc.freenode.net/qt">#qt</a> for their helpful<br/>comments during endless coding sessions - you guys rock!
<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>
+ <small>Version %1</small>
+
AboutDialog
@@ -35,6 +40,24 @@
+ ApplicationUpdateDialog
+
+
+ A new version of guitone is available!
+ Eine neue Version von guitone ist verfügbar!
+
+
+
+ Visit website
+ Webseite besuchen
+
+
+
+ Close
+ SchlieÃen
+
+
+
Attributes
@@ -586,12 +609,12 @@
Guitone
-
+
Error
Fehler
-
+
The path to the monotone binary is either invalid or points to an older version of monotone. Guitone requires monotone version %1 or a monotone with interface version %2 or later.
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 @@
&Add
- &Hinzufügen
+ &Hinzufügen
-
+
Add to workspace
Zum Arbeitsbereich hinzufügen
&Remove
- En&tfernen
+ En&tfernen
-
+
Remove from workspace
Vom Arbeitsbereich entfernen
&Commit
- &Einpflegen
+ &Einpflegen
-
+
Commit
Einpflegen
I&gnore
- Datei &ignorieren
+ Datei &ignorieren
-
+
Ignore file
Datei ignorieren
&Unignore
- Datei nicht ign&orieren
+ Datei nicht ign&orieren
-
+
Unignore file
Datei nicht mehr ignorieren
R&evert
- &Zurücksetzen
+ &Zurücksetzen
-
+
Revert uncommitted changes
Nicht eingepflegte Ãnderungen verwerfen
Rena&me
- Um&benennen
+ Um&benennen
-
+
Rename file
Datei umbenennen
D&iff
- U&nterschiede anzeigen
+ U&nterschiede anzeigen
-
+
Diff against base revision
Unterschiede im Vergleich zur Basisrevision anzeigen
&Go into
- &Wechseln zu
+ &Wechseln zu
-
+
Go into the directory
Wechsle in das Verzeichnis
&Open
- &Ãffnen
+ &Ãffnen
-
+
Open in default program
In Standardprogramm öffnen
-
+
Error
Fehler
-
+
The file you're trying to open does not exist.
Die Datei, die Sie versucht haben zu öffnen, existiert nicht.
-
+
Unable to open files on your platform - please contact the author about this problem.
Kann keine Dateien auf Ihrer Plattform öffnen - bitte kontaktieren Sie den Autor über dieses Problem.
D&iff all
- Alle U&nterschiede anzeigen
+ Alle U&nterschiede anzeigen
-
+
Show all differences
Zeigt Unterschiede in allen Dateien
+
+
+ No common action for selected items
+ Keine gemeinsamen Aktionen auf selektierte Einträge anwendbar
+
+
+
+ Go into
+ Wechseln zu
+
+
+
+ Open
+ Ãffnen
+
+
+
+ Add
+ Hinzufügen
+
+
+
+ Remove
+ Entfernen
+
+
+
+ Ignore
+ Datei ignorieren
+
+
+
+ Unignore
+ Datei nicht ignorieren
+
+
+
+ Revert
+ Zurücksetzen
+
+
+
+ Diff
+ Unterschiede anzeigen
+
+
+
+ Diff all
+ Alle Unterschiede anzeigen
+
+
+
+ Rename
+ Umbenennen
+
+
+
+ Add %1 items
+ Füge %1 Einträge hinzu
+
+
+
+ Add multiple files
+ Fügt mehrere Einträge hinzu
+
+
+
+ Remove %1 items
+ Entferne %1 Einträge
+
+
+
+ Remove multiple files
+ Entfernt mehrere Einträge
+
+
+
+ Commit %1 items
+ Pflege %1 Einträge ein
+
+
+
+ Commit multiple files
+ Pflegt mehrere Einträge ein
+
+
+
+ Ignore %1 items
+ Ignoriere %1 Einträge
+
+
+
+ Ignore multiple files
+ Ignoriert mehrere Einträge
+
+
+
+ Unignore %1 items
+ Ignoriere %1 Einträge nicht mehr
+
+
+
+ Unignore multiple files
+ Ignoriere mehrere Einträge nicht mehr
+
+
+
+ Revert %1 items
+ Setze %1 Einträge zurück
+
+
+
+ Revert multiple files
+ Setze mehrere Einträge zurück
+
+
+
+ Add multiple items
+ Füge mehrere Einträge hinzu
+
+
+
+ Remove multiple items
+ Entferne mehrere Einträge
+
+
+
+ Commit multiple items
+ Pflege mehrere Einträge ein
+
+
+
+ Ignore multiple items
+ Ignoriere mehrere Einträge
+
+
+
+ Unignore multiple items
+ Ignoriere mehrere Einträge nicht mehr
+
+
+
+ Revert multiple items
+ Setze mehrere Einträge zurück
+
KeyManagement
@@ -904,67 +1072,67 @@
Hilfe
-
+
Workspace
Arbeitsbereich
-
+
File
Datei
-
+
Recent Workspaces
Vorherige Arbeitsbereiche
-
+
Open Workspace
Arbeitsbereich öffnen
-
+
Ctrl+O
Strg+O
-
+
No previous workspaces available.
Keine vorherigen Arbeitsbereiche verfügbar.
Preferences....
- Einstellungen...
+ Einstellungen...
-
+
Ctrl+P
Strg+P
-
+
Quit
Beenden
-
+
Ctrl+Q
Strg+Q
-
+
Hide ignored files
Ignorierte Dateien verstecken
-
+
Ctrl+H
Strg+H
-
+
All files
Alle Dateien
@@ -974,7 +1142,7 @@
A
-
+
All changed files
Alle geänderten Dateien
@@ -984,7 +1152,7 @@
G
-
+
Patched files
Inhaltlich geänderte Dateien
@@ -994,7 +1162,7 @@
P
-
+
Added files
Hinzugefügte Dateien
@@ -1004,7 +1172,7 @@
H
-
+
Removed files
Entfernte Dateien
@@ -1014,7 +1182,7 @@
E
-
+
Renamed files
Umbenannte Dateien
@@ -1024,7 +1192,7 @@
U
-
+
Missing files
Fehlende Dateien
@@ -1034,7 +1202,7 @@
F
-
+
Unknown files
Unbekannte Dateien
@@ -1044,7 +1212,7 @@
K
-
+
Ignored files
Ignorierte Dateien
@@ -1054,12 +1222,12 @@
I
-
+
Expand tree
Baum aufklappen
-
+
Ctrl+T
Strg+T
@@ -1074,22 +1242,22 @@
Strg+R
-
+
Key management
Schlüsselverwaltung
-
+
Ctrl+K
Strg+K
-
+
About Qt
Ãber Qt
-
+
About guitone
Ãber guitone
@@ -1104,12 +1272,12 @@
guitone - ein Frontend für monotone
-
+
Select your workspace...
Wählen Sie Ihren Arbeitsbereich aus...
-
+
Loading aborted
Laden abgebrochen
@@ -1124,102 +1292,102 @@
Das gewählte Verzeichnis ist kein monotone-Arbeitsverzeichnis!
-
+
Unable to execute command
Konnte Kommando nicht ausführen
-
+
Unable to execute '%1' - maybe another command is still running?
Konnte '%1' nicht ausführen - eventuell läuft noch ein anderes Kommando?
-
+
Show ignored files
Zeige ignorierte Dateien
-
+
Collapse tree
Baum zuklappen
-
+
&%1 %2
&%1 %2
-
+
Recent Databases
Vorherige Datenbanken
-
+
Open Database
Datenbank öffnen
-
+
No previous databases available.
Keine vorherigen geöffneten Datenbanken verfügbar.
-
+
Database
Datenbank
-
+
Ctrl+Shift+O
Strg+Shift+O
-
+
Loaded database: %1
Geladene Datenbank: %1
-
+
Select your database...
Wählen Sie eine Datenbank aus...
-
+
monotone Databases (*.mtn *.db)
monotone-Datenbanken (*.mtn *.db)
-
+
Ctrl+B
Strg+B
-
+
Changeset browser
Ãnderungen-Browser
-
+
Close
SchlieÃen
-
+
Alt+A
Alt+A
-
+
Alt+C
Alt+C
-
+
Alt+P
Alt+P
-
+
Alt+N
Alt+N
@@ -1235,82 +1403,82 @@ oder respektive auf Datei > Datenbank
oder respektive auf Datei > Datenbank öffnen.
-
+
Window
Fenster
-
+
Alt+D
Alt+D
-
+
Alt+R
Alt+R
-
+
Alt+M
Alt+M
-
+
Alt+U
Alt+U
-
+
Update workspace
Arbeitsbereich aktualisieren
-
+
Ctrl+U
Strg+U
-
+
Alt+I
Alt+I
-
+
Checkout revision
Revision auschecken
-
+
Ctrl+Shift+U
Strg+Umschalt+U
-
+
Bring all to front
Alle nach vorne bringen
-
+
%1 - database mode - guitone
%1 - Datenbankmodus - guitone
-
+
%1 - workspace mode - guitone
%1 - Arbeitsbereichmodus - guitone
-
+
No workspace or database loaded - guitone
Kein Arbeitsbereich oder Datenbank geladen - guitone
-
+
Unable to load workspace
Konnte Arbeitsbereich nicht laden
-
+
The workspace '%1' could not be loaded.
monotone returned:
@@ -1321,22 +1489,22 @@ monotone gab zurück:
%2
-
+
Commit revision
Revision einpflegen
-
+
Ctrl+C
Strg+C
-
+
Failed to load workspace
Konnte Arbeitsbereich nicht laden
-
+
The workspace could not be loaded.
The last output was:
@@ -1347,12 +1515,12 @@ Die letzte Ausgabe war:
%1
-
+
Failed to load database
Konnte Datenbank nicht laden
-
+
The database could not be loaded.
The last output was:
@@ -1362,6 +1530,26 @@ Die letzte Ausgabe war:
%1
+
+
+ Preferences...
+ Einstellungen...
+
+
+
+ Check for updates
+ Auf Aktualisierungen prüfen
+
+
+
+ No updates available
+ Keine Aktualisierungen verfügbar
+
+
+
+ Your version of guitone (%1) is already up-to-date.
+ Ihre Version von guitone (%1) ist bereits aktuell.
+
Manifest
@@ -1444,32 +1632,32 @@ monotone gab zurück:
Alle (Debugmeldungen)
-
+
Error
Fehler
-
+
The path to the monotone binary is either invalid or points to an older version of monotone. Guitone requires monotone version %1 or a monotone with interface version %2 or later.
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.
-
+
Notice
Hinweis
-
+
You need to reload your current workspace or restart guitone to use the new monotone binary.
Sie müssen Ihren derzeitigen Arbeitsbereich oder guitone neu laden, um die neue monotone-Binary zu nutzen.
-
+
Choose the monotone executable
Wählen Sie die ausführbare Datei von monotone
-
+
Binaries (mtn mtn.exe)
Binärdateien (mtn mtn.exe)
@@ -1477,50 +1665,60 @@ monotone gab zurück:
PreferencesDialog
-
+
Preferences
Einstellungen
-
+
Path to monotone executable
Pfad zur ausführbaren Datei von monotone
-
+
Browse
Durchsuchen
-
+
Logging
Logmeldungen
-
+
enable console logging
Konsolenlogging aktivieren
-
+
enable file logging (%1)
Dateilogging aktivieren (%1)
-
+
Log level
Log-Level
-
+
OK
OK
-
+
Cancel
Abbrechen
+
+
+ Miscellaneous
+ Verschiedenes
+
+
+
+ check for updates on application launch
+ prüfe auf neue Versionen beim Start der Anwendung
+
QObject
@@ -1591,22 +1789,22 @@ value "%3"
QShortcut
-
+
Ctrl
Strg
-
+
Alt
Alt
-
+
Shift
Umschalt
-
+
Meta
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);
}