summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/dialog-manager.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2010-12-18 04:54:08 +0000
committerJon A. Cruz <jon@joncruz.org>2010-12-18 04:54:08 +0000
commitf827bacbbab8d98adb460dc85279d584fee6435c (patch)
tree7803f082503256d0a0aa159d908d136c6720225e /src/ui/dialog/dialog-manager.cpp
parentsupport for 5 point spline (Bug 685707) (diff)
downloadinkscape-f827bacbbab8d98adb460dc85279d584fee6435c.tar.gz
inkscape-f827bacbbab8d98adb460dc85279d584fee6435c.zip
Simple tracking of time to display dialogs and main window.
(bzr r9966)
Diffstat (limited to 'src/ui/dialog/dialog-manager.cpp')
-rw-r--r--src/ui/dialog/dialog-manager.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp
index ff31c91c4..0c49690cc 100644
--- a/src/ui/dialog/dialog-manager.cpp
+++ b/src/ui/dialog/dialog-manager.cpp
@@ -42,6 +42,7 @@
#include "ui/dialog/floating-behavior.h"
#include "ui/dialog/dock-behavior.h"
//#include "ui/dialog/print-colors-preview-dialog.h"
+#include "util/ege-appear-time-tracker.h"
#include "preferences.h"
#ifdef ENABLE_SVG_FONTS
@@ -232,10 +233,23 @@ void DialogManager::showDialog(gchar const *name) {
* Shows the named dialog, creating it if necessary.
*/
void DialogManager::showDialog(GQuark name) {
- Dialog *dialog=getDialog(name);
- if (dialog) {
+ bool wantTiming = Inkscape::Preferences::get()->getBool("/dialogs/debug/trackAppear", false);
+ GTimer *timer = (wantTiming) ? g_timer_new() : 0; // if needed, must be created/started before getDialog()
+ Dialog *dialog = getDialog(name);
+ if ( dialog ) {
+ if ( wantTiming ) {
+ gchar const * nameStr = g_quark_to_string(name);
+ ege::AppearTimeTracker *tracker = new ege::AppearTimeTracker(timer, dialog->gobj(), nameStr);
+ tracker->setAutodelete(true);
+ timer = 0;
+ }
dialog->present();
}
+
+ if ( timer ) {
+ g_timer_destroy(timer);
+ timer = 0;
+ }
}
} // namespace Dialog