Code

fix range, make integer, remove unnecessary document_done, fix 1635388
[inkscape.git] / src / dialogs / dialog-events.cpp
index deabcf3839438e6df6f64730e5e82079fbcf66f1..5f4c429fa694c398a4f960888804914eaadfe7a3 100644 (file)
@@ -4,9 +4,10 @@
  * \brief  Event handler for dialog windows
  *
  * Authors:
- *   bulia byak <bulia@dr.com>
+ *   bulia byak <bulia@dr.com>   
+ *   Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
  *
- * Copyright (C) 2003 authors
+ * Copyright (C) 2003-2007 Authors
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
@@ -145,12 +146,24 @@ sp_dialog_event_handler (GtkWindow *win, GdkEvent *event, gpointer data)
 void
 sp_transientize (GtkWidget *dialog)
 {
+#ifndef WIN32  // FIXME: Temporary Win32 special code to enable transient dialogs
+    // _set_skip_taskbar_hint makes transient dialogs NON-transient! When dialogs
+    // are made transient (_set_transient_for), they are already removed from
+    // the taskbar in Win32.
     if (prefs_get_int_attribute ( "options.dialogsskiptaskbar", "value", 0)) {
         gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE);
-    }
+    }           
+#endif    
 
     gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2 );
 
+#ifdef WIN32 // FIXME: Temporary Win32 special code to enable transient dialogs
+    if (prefs_get_int_attribute ( "options.dialogsontopwin32", "value", 0))
+        transient_policy = 2;
+    else    
+        transient_policy = 0;
+#endif        
+
     if (transient_policy) {
    
     // if there's an active document window, attach dialog to it as a transient:
@@ -171,9 +184,14 @@ void
 sp_transientize_callback ( Inkscape::Application * /*inkscape*/, 
                            SPDesktop *desktop, win_data *wd )
 {
-    gint transient_policy = 
-        prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 
-                                          1, 0, 2);
+    gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2);
+
+#ifdef WIN32 // FIXME: Temporary Win32 special code to enable transient dialogs
+    if (prefs_get_int_attribute ( "options.dialogsontopwin32", "value", 0))
+        transient_policy = 2;
+    else    
+        return;
+#endif        
 
     if (!transient_policy) 
         return;