index 57e58cd5e4d4795f98c8eb8c9bd3017b7b7353aa..4620b15328e0137603f11dcf50078cf0426513a5 100644 (file)
#include "ui/widget/layer-selector.h"
#include "ui/widget/selected-style.h"
#include "ui/uxmanager.h"
+#include "util/ege-appear-time-tracker.h"
// We're in the "widgets" directory, so no need to explicitly prefix these:
#include "button.h"
using Inkscape::UnitTracker;
using Inkscape::UI::UXManager;
using Inkscape::UI::ToolboxFactory;
+using ege::AppearTimeTracker;
#ifdef WITH_INKBOARD
#endif
return Geom::Point(x,y);
}
+static GTimer *overallTimer = 0;
+
/**
* Registers SPDesktopWidget class and returns its type number.
*/
0 // value_table
};
type = g_type_register_static(SP_TYPE_VIEW_WIDGET, "SPDesktopWidget", &info, static_cast<GTypeFlags>(0));
+ // Begin a timer to watch for the first desktop to appear on-screen
+ overallTimer = g_timer_new();
}
return type;
}
gtk_widget_grab_focus (GTK_WIDGET(dtw->canvas));
- {
- g_message("FIRE UP");
-
- gtk_widget_add_events( eventbox, GDK_STRUCTURE_MASK );
-
- gboolean fooMap(GtkWidget *widget, GdkEvent *event, gpointer userData);
- g_signal_connect( G_OBJECT(eventbox), "map-event", G_CALLBACK(fooMap), dtw );
-
- void fooReal(GtkWidget *widget, gpointer userData);
- g_signal_connect( G_OBJECT(eventbox), "map-event", G_CALLBACK(fooReal), dtw );
+ // If this is the first desktop created, report the time it takes to show up
+ if ( overallTimer ) {
+ if ( prefs->getBool("/dialogs/debug/trackAppear", false) ) {
+ // Time tracker takes ownership of the timer.
+ AppearTimeTracker *tracker = new AppearTimeTracker(overallTimer, GTK_WIDGET(dtw), "first SPDesktopWidget");
+ tracker->setAutodelete(true);
+ } else {
+ g_timer_destroy(overallTimer);
+ }
+ overallTimer = 0;
}
}
-gboolean fooMap(GtkWidget *widget, GdkEvent *event, gpointer userData) {
- checkTime( "MAP");
- return FALSE;
-}
-
-void fooReal(GtkWidget *widget, gpointer userData)
-{
- checkTime("REALIZE");
-}
-
/**
* Called before SPDesktopWidget destruction.
*/