Author: dmacvicar Date: Mon Apr 18 07:54:33 2011 New Revision: 63805 URL: http://svn.opensuse.org/viewcvs/yast?rev=63805&view=rev Log: start port to GTK3 Modified: branches/tmp/dmacvicar/gtk/CMakeLists.txt branches/tmp/dmacvicar/gtk/src/CMakeLists.txt branches/tmp/dmacvicar/gtk/src/YGComboBox.cc branches/tmp/dmacvicar/gtk/src/YGDialog.cc branches/tmp/dmacvicar/gtk/src/YGImage.cc branches/tmp/dmacvicar/gtk/src/YGLayout.cc branches/tmp/dmacvicar/gtk/src/pkg/CMakeLists.txt Modified: branches/tmp/dmacvicar/gtk/CMakeLists.txt URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/CMakeLists.txt?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/CMakeLists.txt (original) +++ branches/tmp/dmacvicar/gtk/CMakeLists.txt Mon Apr 18 07:54:33 2011 @@ -5,13 +5,13 @@ SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ) ## configure -find_package (GTK2 REQUIRED gtk) +find_package (GTK3 REQUIRED gtk) find_package (Libyui REQUIRED) find_package (Zypp REQUIRED) # debug while GTK2 support is shaky -message (STATUS "GTK2 includes:" ${GTK2_INCLUDE_DIRS}) -message (STATUS "GTK2 libraries:" ${GTK2_LIBRARIES}) +message (STATUS "GTK3 includes:" ${GTK3_INCLUDE_DIRS}) +message (STATUS "GTK3 libraries:" ${GTK3_LIBRARIES}) # set libyui and libzypp versions execute_process (COMMAND pkg-config --modversion yast2-libyui COMMAND awk -F. "{ printf \"%d\", ($1 * 1000 + $2) * 1000 + $3;}" OUTPUT_VARIABLE YAST2_VERSION) Modified: branches/tmp/dmacvicar/gtk/src/CMakeLists.txt URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/src/CMakeLists.txt?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/src/CMakeLists.txt (original) +++ branches/tmp/dmacvicar/gtk/src/CMakeLists.txt Mon Apr 18 07:54:33 2011 @@ -5,6 +5,8 @@ -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE) +include_directories(${GTK3_INCLUDE_DIRS}) + set (gtk_yast_plugin_SRCS YGBarGraph.cc YGComboBox.cc @@ -74,6 +76,6 @@ add_executable (test test.cc) add_dependencies (test py2gtk) target_link_libraries (test libpy2gtk.so) -target_link_libraries (test ${GTK2_LIBRARIES}) +target_link_libraries (test ${GTK3_LIBRARIES}) target_link_libraries (test ${LIBYUI_LIBRARY}) Modified: branches/tmp/dmacvicar/gtk/src/YGComboBox.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/src/YGComboBox.cc?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/src/YGComboBox.cc (original) +++ branches/tmp/dmacvicar/gtk/src/YGComboBox.cc Mon Apr 18 07:54:33 2011 @@ -16,7 +16,7 @@ YGComboBox (YWidget *parent, const string &label, bool editable) : YComboBox (NULL, label, editable), YGLabeledWidget (this, parent, label, YD_HORIZ, - editable ? GTK_TYPE_COMBO_BOX_ENTRY : GTK_TYPE_COMBO_BOX, NULL), + GTK_TYPE_COMBO_BOX, "has-entry", editable ? TRUE : FALSE, NULL), YGSelectionStore (false) { const GType types[2] = { GDK_TYPE_PIXBUF, G_TYPE_STRING }; @@ -29,7 +29,7 @@ "pixbuf", 0, NULL); if (editable) - gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY (getWidget()), 1); + gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (getWidget()), 1); else { cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (getWidget()), cell, TRUE); @@ -88,15 +88,11 @@ virtual std::string text() { gchar *str; - if (GTK_IS_COMBO_BOX_ENTRY (getWidget())) - str = gtk_combo_box_get_active_text (getComboBox()); - else { - GtkTreeIter iter; - if (gtk_combo_box_get_active_iter (getComboBox(), &iter)) - gtk_tree_model_get (getModel(), &iter, 1, &str, -1); - else - return ""; - } + GtkTreeIter iter; + if (gtk_combo_box_get_active_iter (getComboBox(), &iter)) + gtk_tree_model_get (getModel(), &iter, 1, &str, -1); + else + return ""; std::string ret (str); g_free (str); return ret; Modified: branches/tmp/dmacvicar/gtk/src/YGDialog.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/src/YGDialog.cc?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/src/YGDialog.cc (original) +++ branches/tmp/dmacvicar/gtk/src/YGDialog.cc Mon Apr 18 07:54:33 2011 @@ -140,7 +140,7 @@ { setChild (NULL); if (m_busyCursor) - gdk_cursor_unref (m_busyCursor); + g_object_unref (G_OBJECT (m_busyCursor)); gtk_widget_destroy (m_widget); g_object_unref (G_OBJECT (m_widget)); } @@ -160,7 +160,7 @@ if (!m_busyCursor) { GdkDisplay *display = gtk_widget_get_display (m_widget); m_busyCursor = gdk_cursor_new_for_display (display, GDK_WATCH); - gdk_cursor_ref (m_busyCursor); + g_object_ref (G_OBJECT (m_busyCursor)); } if (!m_isBusy) gdk_window_set_cursor (gtk_widget_get_window(m_widget), m_busyCursor); @@ -218,7 +218,7 @@ YGWindow *pThis) { // if not main dialog, close it on escape - if (event->keyval == GDK_Escape && + if (event->keyval == GDK_KEY_Escape && /* not main window */ main_window != pThis) { pThis->close(); return TRUE; @@ -227,7 +227,7 @@ if (event->state & GDK_SHIFT_MASK) { switch (event->keyval) { - case GDK_F8: + case GDK_KEY_F8: YGUI::ui()->askSaveLogs(); return TRUE; default: @@ -238,26 +238,26 @@ && (event->state & GDK_MOD1_MASK)) { yuiMilestone() << "Caught YaST2 magic key combination\n"; switch (event->keyval) { - case GDK_S: + case GDK_KEY_S: YGUI::ui()->makeScreenShot(); return TRUE; - case GDK_M: + case GDK_KEY_M: YGUI::ui()->toggleRecordMacro(); return TRUE; - case GDK_P: + case GDK_KEY_P: YGUI::ui()->askPlayMacro(); return TRUE; - case GDK_D: + case GDK_KEY_D: YGUI::ui()->sendEvent (new YDebugEvent()); return TRUE; - case GDK_X: + case GDK_KEY_X: yuiMilestone() << "Starting xterm\n"; (void) system ("/usr/bin/xterm &"); return TRUE; - case GDK_H: + case GDK_KEY_H: dumpYastHtml (pThis->getChild()); return TRUE; - case GDK_E: // easter egg + case GDK_KEY_E: // easter egg static guint explode_timeout = 0; if (explode_timeout == 0) explode_timeout = g_timeout_add (10000, expode_window_timeout_cb, pThis); @@ -266,7 +266,7 @@ explode_timeout = 0; } return TRUE; - case GDK_Y: + case GDK_KEY_Y: yuiMilestone() << "Opening dialog spy" << endl; YDialogSpy::showDialogSpy(); YGUI::ui()->normalCursor(); @@ -482,8 +482,8 @@ if (prev) { GtkWidget *widget = prev->getWidget(); if (inner::hasWindow (widget)) { - gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, NULL); - gtk_widget_modify_base (widget, GTK_STATE_NORMAL, NULL); + gtk_widget_override_background_color (widget, GTK_STATE_FLAG_NORMAL, NULL); + gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, NULL); } else { g_signal_handlers_disconnect_by_func (widget, @@ -497,10 +497,10 @@ if (ygwidget) { GtkWidget *widget = ygwidget->getWidget(); if (inner::hasWindow (widget)) { - GdkColor bg_color = { 0, 0xffff, 0xaaaa, 0 }; - GdkColor base_color = { 0, 0xffff, 0xeeee, 0 }; - gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &bg_color); - gtk_widget_modify_base (widget, GTK_STATE_NORMAL, &base_color); + GdkRGBA bg_color = { 0, 0xffff, 0xaaaa, 0 }; + GdkRGBA base_color = { 0, 0xffff, 0xeeee, 0 }; + gtk_widget_override_background_color (widget, GTK_STATE_FLAG_NORMAL, &bg_color); + gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &base_color); } else { g_signal_connect (G_OBJECT (widget), "expose-event", Modified: branches/tmp/dmacvicar/gtk/src/YGImage.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/src/YGImage.cc?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/src/YGImage.cc (original) +++ branches/tmp/dmacvicar/gtk/src/YGImage.cc Mon Apr 18 07:54:33 2011 @@ -35,8 +35,12 @@ stock = GTK_STOCK_DIALOG_WARNING; else if (endsWith (filename, "/msg_error.png")) stock = GTK_STOCK_DIALOG_ERROR; - if (stock && gtk_style_lookup_icon_set (gtk_widget_get_style(m_widget), stock)) { - GdkPixbuf *pixbuf = gtk_widget_render_icon (m_widget, stock, GTK_ICON_SIZE_DIALOG, NULL); + + GtkStyleContext *ctx; + ctx = gtk_widget_get_style_context(m_widget); + + if (stock && gtk_style_context_lookup_icon_set (ctx, stock)) { + GdkPixbuf *pixbuf = gtk_widget_render_icon_pixbuf (m_widget, stock, GTK_ICON_SIZE_DIALOG); ygtk_image_set_from_pixbuf (image, pixbuf); } else Modified: branches/tmp/dmacvicar/gtk/src/YGLayout.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/src/YGLayout.cc?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/src/YGLayout.cc (original) +++ branches/tmp/dmacvicar/gtk/src/YGLayout.cc Mon Apr 18 07:54:33 2011 @@ -161,7 +161,7 @@ if (filename.empty()) { m_background_pixbuf = 0; g_signal_handlers_disconnect_by_func (G_OBJECT (getWidget()), - (void*) expose_event_cb, this); + (void*) draw_event_cb, this); } else { GError *error = 0; @@ -170,28 +170,24 @@ g_warning ("Setting YAlignment background - couldn't load image '%s' - %s", filename.c_str(), error->message); else - g_signal_connect (G_OBJECT (getWidget()), "expose-event", - G_CALLBACK (expose_event_cb), this); + g_signal_connect (G_OBJECT (getWidget()), "draw", + G_CALLBACK (draw_event_cb), this); } } - static gboolean expose_event_cb (GtkWidget *widget, GdkEventExpose *event, - YGAlignment *pThis) + static gboolean draw_event_cb (GtkWidget *widget, cairo_t *cr, int width, int height, + YGAlignment *pThis) { - GtkAllocation alloc; - gtk_widget_get_allocation(widget, &alloc); - cairo_t *cr = gdk_cairo_create (gtk_widget_get_window(widget)); - gdk_cairo_set_source_pixbuf (cr, pThis->m_background_pixbuf, 0, 0); cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT); - cairo_rectangle (cr, alloc.x, alloc.y, alloc.width, alloc.height); + cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_destroy (cr); - gtk_container_propagate_expose (GTK_CONTAINER (widget), - gtk_bin_get_child(GTK_BIN (widget)), event); + gtk_container_propagate_draw (GTK_CONTAINER (widget), + gtk_bin_get_child(GTK_BIN (widget)), cr); return TRUE; } }; Modified: branches/tmp/dmacvicar/gtk/src/pkg/CMakeLists.txt URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/dmacvicar/gtk/src/pkg/CMakeLists.txt?rev=63805&r1=63804&r2=63805&view=diff ============================================================================== --- branches/tmp/dmacvicar/gtk/src/pkg/CMakeLists.txt (original) +++ branches/tmp/dmacvicar/gtk/src/pkg/CMakeLists.txt Mon Apr 18 07:54:33 2011 @@ -43,7 +43,7 @@ ## libraries: target_link_libraries (py2gtk_pkg libpy2gtk.so) -target_link_libraries (py2gtk_pkg ${GTK2_LIBRARIES}) +target_link_libraries (py2gtk_pkg ${GTK3_LIBRARIES}) target_link_libraries (py2gtk_pkg ${LIBYUI_LIBRARY}) target_link_libraries (py2gtk_pkg ${ZYPP_LIBRARY}) set_target_properties (py2gtk_pkg PROPERTIES SOVERSION 2) -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org