summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorLiam P. White <inkscapebrony@gmail.com>2014-06-26 17:49:17 +0000
committerLiam P. White <inkscapebrony@gmail.com>2014-06-26 17:49:17 +0000
commit6dfb9b4eade77ac55d11f05669c2192352b9b8fa (patch)
treeb5925ceaf9684f21ff9cfb9b8e639be9e0937957 /src/widgets
parentUpdate to exp. r13409 (diff)
downloadinkscape-6dfb9b4eade77ac55d11f05669c2192352b9b8fa.tar.gz
inkscape-6dfb9b4eade77ac55d11f05669c2192352b9b8fa.zip
4. further refactor Application class; create proper singleton, encapsulate members, simplify signals
(bzr r13341.5.6)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/gradient-vector.cpp9
-rw-r--r--src/widgets/icon.cpp4
-rw-r--r--src/widgets/sp-widget.cpp40
3 files changed, 36 insertions, 17 deletions
diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp
index 9fb439a28..9c27da1f8 100644
--- a/src/widgets/gradient-vector.cpp
+++ b/src/widgets/gradient-vector.cpp
@@ -1033,19 +1033,18 @@ GtkWidget * sp_gradient_vector_editor_new(SPGradient *gradient, SPStop *stop)
wd.win = dlg;
wd.stop = 0;
- INKSCAPE->signal_activate_desktop.connect(sigc::bind(sigc::ptr_fun(&sp_transientize_callback), &wd));
+ INKSCAPE->signal_activate_desktop.connect(sigc::bind<0>(sigc::bind(sigc::ptr_fun(&sp_transientize_callback), &wd), INKSCAPE));
g_signal_connect(G_OBJECT(dlg), "event", G_CALLBACK(sp_dialog_event_handler), dlg);
g_signal_connect(G_OBJECT(dlg), "destroy", G_CALLBACK(sp_gradient_vector_dialog_destroy), dlg);
g_signal_connect(G_OBJECT(dlg), "delete_event", G_CALLBACK(sp_gradient_vector_dialog_delete), dlg);
INKSCAPE->signal_shut_down.connect(
- sigc::hide<0>(
sigc::hide_return(
sigc::bind(sigc::ptr_fun(&sp_gradient_vector_dialog_delete), (GtkWidget *) NULL, (GdkEvent *) NULL, (GtkWidget *) NULL)
- )));
- INKSCAPE->signal_dialogs_hide.connect(sigc::hide<0>(sigc::bind(sigc::ptr_fun(&gtk_widget_hide), dlg)));
- INKSCAPE->signal_dialogs_unhide.connect(sigc::hide<0>(sigc::bind(sigc::ptr_fun(&gtk_widget_show), dlg)));
+ ));
+ INKSCAPE->signal_dialogs_hide.connect(sigc::bind(sigc::ptr_fun(&gtk_widget_hide), dlg));
+ INKSCAPE->signal_dialogs_unhide.connect(sigc::bind(sigc::ptr_fun(&gtk_widget_show), dlg));
gtk_container_set_border_width(GTK_CONTAINER(dlg), PAD);
diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp
index 0814d56d6..214990b6b 100644
--- a/src/widgets/icon.cpp
+++ b/src/widgets/icon.cpp
@@ -1568,7 +1568,7 @@ void IconImpl::addPreRender( GtkIconSize lsize, gchar const *name )
}
gboolean IconImpl::prerenderTask(gpointer /*data*/) {
- if ( inkscapeIsCrashing() ) {
+ if ( Inkscape::Application::isCrashing() ) {
// stop
} else if (!pendingRenders.empty()) {
bool workDone = false;
@@ -1580,7 +1580,7 @@ gboolean IconImpl::prerenderTask(gpointer /*data*/) {
} while (!pendingRenders.empty() && !workDone);
}
- if (!inkscapeIsCrashing() && !pendingRenders.empty()) {
+ if (!Inkscape::Application::isCrashing() && !pendingRenders.empty()) {
return TRUE;
} else {
callbackHooked = false;
diff --git a/src/widgets/sp-widget.cpp b/src/widgets/sp-widget.cpp
index 322b444b9..08344d9b2 100644
--- a/src/widgets/sp-widget.cpp
+++ b/src/widgets/sp-widget.cpp
@@ -211,12 +211,21 @@ void SPWidgetImpl::show(GtkWidget *widget)
if (spw->inkscape) {
// Connect signals
- spw->selModified = spw->inkscape->signal_selection_modified.connect(sigc::bind(sigc::ptr_fun(SPWidgetImpl::modifySelectionCB), spw));
- spw->selChanged = spw->inkscape->signal_selection_changed.connect(sigc::bind(sigc::ptr_fun(SPWidgetImpl::changeSelectionCB), spw));
- spw->selSet = spw->inkscape->signal_selection_set.connect(sigc::bind(sigc::ptr_fun(SPWidgetImpl::setSelectionCB), spw));
- //g_signal_connect(spw->inkscape, "modify_selection", G_CALLBACK(SPWidgetImpl::modifySelectionCB), spw);
- //g_signal_connect(spw->inkscape, "change_selection", G_CALLBACK(SPWidgetImpl::changeSelectionCB), spw);
- //g_signal_connect(spw->inkscape, "set_selection", G_CALLBACK(SPWidgetImpl::setSelectionCB), spw);
+ spw->selModified = spw->inkscape->signal_selection_modified.connect(
+ sigc::bind<0>(
+ sigc::bind(
+ sigc::ptr_fun(SPWidgetImpl::modifySelectionCB), spw), spw->inkscape
+ ));
+ spw->selChanged = spw->inkscape->signal_selection_changed.connect(
+ sigc::bind<0>(
+ sigc::bind(
+ sigc::ptr_fun(SPWidgetImpl::changeSelectionCB), spw), spw->inkscape
+ ));
+ spw->selSet = spw->inkscape->signal_selection_set.connect(
+ sigc::bind<0>(
+ sigc::bind(
+ sigc::ptr_fun(SPWidgetImpl::setSelectionCB), spw), spw->inkscape
+ ));
}
if (reinterpret_cast<GtkWidgetClass *>(parentClass)->show) {
@@ -233,7 +242,6 @@ void SPWidgetImpl::hide(GtkWidget *widget)
spw->selModified.disconnect();
spw->selChanged.disconnect();
spw->selSet.disconnect();
- //sp_signal_disconnect_by_data(spw->inkscape, spw);
}
if (reinterpret_cast<GtkWidgetClass *>(parentClass)->hide) {
@@ -311,9 +319,21 @@ GtkWidget *SPWidgetImpl::constructGlobal(SPWidget *spw, Inkscape::Application *i
spw->inkscape = inkscape;
if (gtk_widget_get_visible(GTK_WIDGET(spw))) {
- spw->selModified = spw->inkscape->signal_selection_modified.connect(sigc::bind(sigc::ptr_fun(SPWidgetImpl::modifySelectionCB), spw));
- spw->selChanged = spw->inkscape->signal_selection_changed.connect(sigc::bind(sigc::ptr_fun(SPWidgetImpl::changeSelectionCB), spw));
- spw->selSet = spw->inkscape->signal_selection_set.connect(sigc::bind(sigc::ptr_fun(SPWidgetImpl::setSelectionCB), spw));
+ spw->selModified = spw->inkscape->signal_selection_modified.connect(
+ sigc::bind<0>(
+ sigc::bind(
+ sigc::ptr_fun(SPWidgetImpl::modifySelectionCB), spw), spw->inkscape
+ ));
+ spw->selChanged = spw->inkscape->signal_selection_changed.connect(
+ sigc::bind<0>(
+ sigc::bind(
+ sigc::ptr_fun(SPWidgetImpl::changeSelectionCB), spw), spw->inkscape
+ ));
+ spw->selSet = spw->inkscape->signal_selection_set.connect(
+ sigc::bind<0>(
+ sigc::bind(
+ sigc::ptr_fun(SPWidgetImpl::setSelectionCB), spw), spw->inkscape
+ ));
}
g_signal_emit(spw, signals[CONSTRUCT], 0);