glom r2020 - in trunk: . glom glom/bakery glom/utility_widgets/adddel



Author: murrayc
Date: Tue Mar 24 01:14:04 2009
New Revision: 2020
URL: http://svn.gnome.org/viewvc/glom?rev=2020&view=rev

Log:
2009-03-24  Murray Cumming <murrayc murrayc com>

* glom/bakery/Makefile.am:
* glom/bakery/App_WithDoc.h:
* glom/bakery/App_Gtk.[h|cc]: Remove this, merging it into:
* glom/bakery/App_WithDoc_Gtk.[h|cc]: allowing us to remove some 
awkward virtual inheritance.
* glom/bakery/Dialog_OfferSave.cc:
* glom/application.cc:
* glom/utility_widgets/adddel/adddel.cc: Adapted.

Removed:
   trunk/glom/bakery/App_Gtk.cc
   trunk/glom/bakery/App_Gtk.h
Modified:
   trunk/ChangeLog
   trunk/glom/application.cc
   trunk/glom/bakery/App_WithDoc.h
   trunk/glom/bakery/App_WithDoc_Gtk.cc
   trunk/glom/bakery/App_WithDoc_Gtk.h
   trunk/glom/bakery/Dialog_OfferSave.cc
   trunk/glom/bakery/Makefile.am
   trunk/glom/utility_widgets/adddel/adddel.cc

Modified: trunk/glom/application.cc
==============================================================================
--- trunk/glom/application.cc	(original)
+++ trunk/glom/application.cc	Tue Mar 24 01:14:04 2009
@@ -93,16 +93,7 @@
 App_Glom* global_application = NULL;
 
 App_Glom::App_Glom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder)
-  // Note cobject is actually a GtkWindow, not a HildonWindow, because the
-  // glade file specified the type as GtkWindow.
-  // ParentWindow is defined in Bakery.
-  // The compilation will fail here if you have not built Bakery with or without --enable-maemo as appropriate:
-#ifdef GLOM_ENABLE_MAEMO
-: ParentWindow(turn_gtk_window_into_hildon_window(GTK_WINDOW(cobject))), //It's a virtual base class, so we have to call the specific constructor to prevent the default constructor from being called.
-#else
-: ParentWindow(cobject), //It's a virtual base class, so we have to call the specific constructor to prevent the default constructor from being called.
-#endif
-  type_base(cobject, "Glom"),
+: type_base(cobject, "Glom"),
   m_pBoxTop(0),
   m_pFrame(0),
 #ifndef GLOM_ENABLE_CLIENT_ONLY

Modified: trunk/glom/bakery/App_WithDoc.h
==============================================================================
--- trunk/glom/bakery/App_WithDoc.h	(original)
+++ trunk/glom/bakery/App_WithDoc.h	Tue Mar 24 01:14:04 2009
@@ -52,7 +52,7 @@
  *  - File/New sub menu
  *  - Some way to associate a view with a document type: class factory.
  */
-class App_WithDoc : virtual public App //virtual because App_WithDoc_Gtk will inherit it via App_With_Doc and via App_Gtk.
+class App_WithDoc : public App
 {
 public: 
   ///Don't forget to call init() too.

Modified: trunk/glom/bakery/App_WithDoc_Gtk.cc
==============================================================================
--- trunk/glom/bakery/App_WithDoc_Gtk.cc	(original)
+++ trunk/glom/bakery/App_WithDoc_Gtk.cc	Tue Mar 24 01:14:04 2009
@@ -27,6 +27,7 @@
 #include <gtkmm/recentchoosermenu.h>
 #include <gtkmm/messagedialog.h>
 #include <gtkmm/filechooserdialog.h>
+#include <gtkmm/aboutdialog.h>
 #include <giomm.h>
 #include <algorithm>
 #include <glibmm/i18n-lib.h>
@@ -42,34 +43,169 @@
 
 App_WithDoc_Gtk::App_WithDoc_Gtk(const Glib::ustring& appname)
 : App_WithDoc(appname),
-  App_Gtk(appname)
+  m_pVBox(0),
+  m_pAbout(0)
 {
+  init_app_name(appname);
+
+#ifndef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+  signal_hide().connect(sigc::mem_fun(*this, &App_WithDoc_Gtk::on_hide));
+  signal_delete_event().connect(sigc::mem_fun(*this, &App_WithDoc_Gtk::on_delete_event));
+#endif
 }
 
 /// This constructor can be used with Gtk::Builder::get_derived_widget().
 App_WithDoc_Gtk::App_WithDoc_Gtk(BaseObjectType* cobject, const Glib::ustring& appname)
-: ParentWindow(cobject), //This is a virtual base class (not a direct base), so we must specify a constructor or the default constructor will be called, regardless of what the App_Gtk(cobject) constructor does. Derived classes must do this as well.
-  App_WithDoc(appname),
-  App_Gtk(cobject, appname)
-{
-  //TODO: appname.
+: App_WithDoc(appname),
+  ParentWindow(cobject), 
+  m_pVBox(0),
+  m_pAbout(0)
+{
+  init_app_name(appname);
+
+#ifndef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+  signal_hide().connect(sigc::mem_fun(*this, &App_WithDoc_Gtk::on_hide));
+  signal_delete_event().connect(sigc::mem_fun(*this, &App_WithDoc_Gtk::on_delete_event));
+#endif
 }
 
   
 App_WithDoc_Gtk::~App_WithDoc_Gtk()
 {
+  if(m_pVBox)
+  {
+    delete m_pVBox;
+    m_pVBox = 0;
+  }
+  
+  if(m_pAbout)
+  {
+    delete m_pAbout;
+    m_pAbout = 0;
+  }
+}
+
+
+void App_WithDoc_Gtk::on_hide()
+{
+  ui_signal_hide().emit();
+}
+
+void App_WithDoc_Gtk::ui_hide()
+{
+  hide();  
+}
+
+void App_WithDoc_Gtk::ui_bring_to_front()
+{
+  get_window()->raise();
+}
+
+
+void App_WithDoc_Gtk::init_layout()
+{
+  set_resizable(); //resizable
+  set_default_size(640, 400); //A sensible default.
+
+  //This might have been instantiated by Gtk::Builder::get_widget() instead.
+  //If not, then we create a default one and add it to the window.
+  if(!m_pVBox)
+  {
+    m_pVBox = new Gtk::VBox();
+    Gtk::Window::add(*m_pVBox);
+  }
+
+  //Add menu bar at the top:
+  //These were defined in init_uimanager().
+#ifdef GLOM_ENABLE_MAEMO
+  Gtk::Menu* pMenu = static_cast<Gtk::Menu*>(m_refUIManager->get_widget("/Bakery_MainMenu"));
+  set_menu(*pMenu);
+#else
+  Gtk::MenuBar* pMenuBar = static_cast<Gtk::MenuBar*>(m_refUIManager->get_widget("/Bakery_MainMenu"));
+  m_pVBox->pack_start(*pMenuBar, Gtk::PACK_SHRINK);
+#endif
+
+  Gtk::Toolbar* pToolBar = static_cast<Gtk::Toolbar*>(m_refUIManager->get_widget("/Bakery_ToolBar"));
+  if(pToolBar)
+  {
+#ifdef GLOM_ENABLE_MAEMO
+    add_toolbar(*pToolBar);
+#else
+    m_HandleBox_Toolbar.add(*pToolBar);
+    m_HandleBox_Toolbar.show();
+    m_pVBox->pack_start(m_HandleBox_Toolbar, Gtk::PACK_SHRINK);
+#endif
+  }
+
+  add_accel_group(m_refUIManager->get_accel_group());
+
+
+  //Add placeholder, to be used by add():
+  m_pVBox->pack_start(m_VBox_PlaceHolder);
+  m_VBox_PlaceHolder.show();
+  
+  m_pVBox->show(); //Show it last so the child widgets all show at once.
 }
 
+void App_WithDoc_Gtk::add_ui_from_string(const Glib::ustring& ui_description)
+{
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+  try
+  {
+    m_refUIManager->add_ui_from_string(ui_description);
+  }
+  catch(const Glib::Error& ex)
+  {
+    std::cerr << "building menus failed: " <<  ex.what();
+  }
+#else
+  std::auto_ptr<Glib::Error> error;
+  m_refUIManager->add_ui_from_string(ui_description, error);
+  if(error.get() != NULL) std::cerr << "building menus failed: " << error->what();
+#endif
+}
 
 void App_WithDoc_Gtk::init()
 {  
   App_WithDoc::init(); //Create document and ask to show it in the UI.
-  
-  init_layout();
-    
+  init_layout(); // start setting up layout after we've gotten all widgets from UIManager
   show();
 }
 
+
+void App_WithDoc_Gtk::init_ui_manager()
+{
+  using namespace Gtk;
+
+  m_refUIManager = UIManager::create();
+
+  //This is just a skeleton structure.
+  //The placeholders allow us to merge the menus and toolbars in later,
+  //by adding a us string with one of the placeholders, but with menu items underneath it.
+  static const Glib::ustring ui_description =
+    "<ui>"
+#ifdef GLOM_ENABLE_MAEMO
+    "  <popup name='Bakery_MainMenu'>"
+#else
+    "  <menubar name='Bakery_MainMenu'>"
+#endif
+    "    <placeholder name='Bakery_MenuPH_File' />"
+    "    <placeholder name='Bakery_MenuPH_Edit' />"
+    "    <placeholder name='Bakery_MenuPH_Others' />" //Note that extra menus should be inserted before the Help menu, which should always be at the end.
+    "    <placeholder name='Bakery_MenuPH_Help' />"
+#ifdef GLOM_ENABLE_MAEMO
+    "  </popup>"
+#else
+    "  </menubar>"
+#endif
+    "  <toolbar name='Bakery_ToolBar'>"
+    "    <placeholder name='Bakery_ToolBarItemsPH' />"
+    "  </toolbar>"
+    "</ui>";
+  
+  add_ui_from_string(ui_description);
+}
+
 void App_WithDoc_Gtk::init_toolbars()
 {
   //Build part of the menu structure, to be merged in by using the "PH" placeholders:
@@ -87,6 +223,14 @@
   add_ui_from_string(ui_description);
 }
 
+void App_WithDoc_Gtk::init_menus()
+{
+  //Override this to add more menus
+  init_menus_file();
+  init_menus_edit();
+  init_menus_help();
+
+}
 void App_WithDoc_Gtk::init_menus_file_recentfiles(const Glib::ustring& path)
 {
   if(!m_mime_types.empty()) //"Recent-files" is useless unless it knows what documents (which MIME-types) to show.
@@ -190,6 +334,145 @@
   init_menus_file_recentfiles("/Bakery_MainMenu/Bakery_MenuPH_File/BakeryAction_Menu_File/BakeryAction_Menu_File_RecentFiles");
 }
 
+void App_WithDoc_Gtk::init_menus_edit()
+{
+  using namespace Gtk;
+  //Edit menu
+  
+  //Build actions:
+  m_refEditActionGroup = ActionGroup::create("BakeryEditActions");
+  m_refEditActionGroup->add(Action::create("BakeryAction_Menu_Edit", _("_Edit")));
+  
+  m_refEditActionGroup->add(Action::create("BakeryAction_Edit_Cut", Gtk::Stock::CUT));
+  m_refEditActionGroup->add(Action::create("BakeryAction_Edit_Copy", Gtk::Stock::COPY));
+  m_refEditActionGroup->add(Action::create("BakeryAction_Edit_Paste", Gtk::Stock::PASTE));
+  m_refEditActionGroup->add(Action::create("BakeryAction_Edit_Clear", Gtk::Stock::CLEAR));
+
+  m_refUIManager->insert_action_group(m_refEditActionGroup);
+  
+  //Build part of the menu structure, to be merged in by using the "PH" placeholders:
+  static const Glib::ustring ui_description =
+    "<ui>"
+#ifdef GLOM_ENABLE_MAEMO
+    "  <popup name='Bakery_MainMenu'>"
+#else
+    "  <menubar name='Bakery_MainMenu'>"
+#endif
+    "    <placeholder name='Bakery_MenuPH_Edit'>"
+    "      <menu action='BakeryAction_Menu_Edit'>"
+    "        <menuitem action='BakeryAction_Edit_Cut' />"
+    "        <menuitem action='BakeryAction_Edit_Copy' />"
+    "        <menuitem action='BakeryAction_Edit_Paste' />"
+    "        <menuitem action='BakeryAction_Edit_Clear' />"
+    "      </menu>"
+    "    </placeholder>"
+#ifdef GLOM_ENABLE_MAEMO
+    "  </popup>"
+#else
+    "  </menubar>"
+#endif
+    "</ui>";
+
+  //Add menu:
+  add_ui_from_string(ui_description);
+}
+
+void App_WithDoc_Gtk::init_menus_help()
+{
+  using namespace Gtk;
+  //Help menu
+
+  //Build actions:
+  m_refHelpActionGroup = ActionGroup::create("BakeryHelpActions");
+  m_refHelpActionGroup->add(Action::create("BakeryAction_Menu_Help", _("_Help")));
+
+  //TODO: Use stock?
+  m_refHelpActionGroup->add(Action::create("BakeryAction_Help_About",
+                        _("_About"), _("About the application")),
+                        sigc::mem_fun((GlomBakery::App&)*this, &App::on_menu_help_about));
+
+  m_refUIManager->insert_action_group(m_refHelpActionGroup);
+
+  //Build part of the menu structure, to be merged in by using the "PH" plaeholders:
+  static const Glib::ustring ui_description =
+    "<ui>"
+#ifdef GLOM_ENABLE_MAEMO
+    "  <popup name='Bakery_MainMenu'>"
+#else
+    "  <menubar name='Bakery_MainMenu'>"
+#endif
+    "    <placeholder name='Bakery_MenuPH_Help'>"
+    "      <menu action='BakeryAction_Menu_Help'>"
+    "        <menuitem action='BakeryAction_Help_About' />"
+    "      </menu>"
+    "    </placeholder>"
+#ifdef GLOM_ENABLE_MAEMO
+    "  </popup>"
+#else
+    "  </menubar>"
+#endif
+    "</ui>";
+
+  //Add menu:
+  add_ui_from_string(ui_description);
+}
+
+
+void App_WithDoc_Gtk::on_menu_help_about()
+{
+  if(m_pAbout && m_bAboutShown) // "About" box hasn't been closed, so just raise it
+  {
+    m_pAbout->set_transient_for(*this);
+
+    Glib::RefPtr<Gdk::Window> about_win = m_pAbout->get_window();
+    about_win->show();
+    about_win->raise();
+  }
+  else
+  {
+    //Re-create About box:
+    if(m_pAbout)
+    {
+      delete m_pAbout;
+      m_pAbout = 0;
+    }
+
+    Gtk::AboutDialog* pDerived = new Gtk::AboutDialog;
+    m_pAbout = pDerived;
+
+    pDerived->set_name(m_strAppName);
+    pDerived->set_version(m_HelpInfo.m_strVersion);
+    pDerived->set_copyright(m_HelpInfo.m_strCopyright);
+    pDerived->set_authors(m_HelpInfo.m_vecAuthors);
+    pDerived->set_documenters(m_HelpInfo.m_vecDocumenters);
+    pDerived->set_translator_credits(m_HelpInfo.m_strTranslatorCredits);
+
+    m_pAbout->signal_hide().connect(sigc::mem_fun((App&)*this, &App::on_about_close));
+    m_bAboutShown = true;
+    static_cast<Gtk::Dialog*>(m_pAbout)->run(); //show() would be better. see below:
+    m_pAbout->hide();
+    //m_pAbout->show(); //TODO: respond to the OK button.
+  }
+}
+
+void App_WithDoc_Gtk::on_about_close()
+{
+  m_bAboutShown = false;
+}
+
+void App_WithDoc_Gtk::add(Gtk::Widget& child)
+{
+  m_VBox_PlaceHolder.pack_start(child);
+}
+
+bool App_WithDoc_Gtk::on_delete_event(GdkEventAny* /* event */)
+{
+  //Clicking on the [x] in the title bar should be like choosing File|New
+  on_menu_file_close();
+
+  return true; // true = don't hide, don't destroy
+}
+
 
 void App_WithDoc_Gtk::update_window_title()
 {
@@ -220,7 +503,7 @@
 #ifdef GLOM_ENABLE_MAEMO
   Hildon::Note dialog(Hildon::NOTE_TYPE_INFORMATION, text, Gtk::Stock::DIALOG_WARNING);
 #else
-  Gtk::MessageDialog dialog(App_Gtk::util_bold_message(text), true /* use markup */, Gtk::MESSAGE_WARNING);
+  Gtk::MessageDialog dialog(App_WithDoc_Gtk::util_bold_message(text), true /* use markup */, Gtk::MESSAGE_WARNING);
   dialog.set_secondary_text(secondary_text);
 
   dialog.set_title(""); //The HIG says that alert dialogs should not have titles. The default comes from the message type.
@@ -232,6 +515,12 @@
   dialog.run();
 }
 
+
+Glib::ustring App_WithDoc_Gtk::util_bold_message(const Glib::ustring& message)
+{
+  return "<b>" + message + "</b>";
+}
+
 Glib::ustring App_WithDoc_Gtk::ui_file_select_open(const Glib::ustring& starting_folder_uri)
 {
   Gtk::Window* pWindow = this;

Modified: trunk/glom/bakery/App_WithDoc_Gtk.h
==============================================================================
--- trunk/glom/bakery/App_WithDoc_Gtk.h	(original)
+++ trunk/glom/bakery/App_WithDoc_Gtk.h	Tue Mar 24 01:14:04 2009
@@ -20,7 +20,22 @@
 #define GLOM_BAKERY_APP_WITHDOC_GTK_H
 
 #include <glom/bakery/App_WithDoc.h>
-#include <glom/bakery/App_Gtk.h>
+#include <config.h> // For GLOM_ENABLE_MAEMO
+#include <glom/bakery/App.h>
+
+#ifdef GLOM_ENABLE_MAEMO
+#include <hildonmm/window.h>
+#endif
+
+#include <gtkmm/menubar.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/toolbar.h>
+#include <gtkmm/handlebox.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/uimanager.h>
+#include <gtkmm/builder.h>
+
+
 #include <libglom/document/bakery/Document.h>
 #include <gtkmm/toolbutton.h>
 #include <gtkmm/recentmanager.h>
@@ -37,11 +52,20 @@
  *
  */
 class App_WithDoc_Gtk
-    //These are virtual base classes, with shared shared App and sigc::trackable base classes:
-  : public App_WithDoc, 
-    public App_Gtk
+  : public App_WithDoc,
+#ifdef GLOM_ENABLE_MAEMO
+    public Hildon::Window //inherit virtually to share sigc::trackable.
+#else
+    public Gtk::Window //inherit virtually to share sigc::trackable.
+#endif
 {
 public:
+#ifdef GLOM_ENABLE_MAEMO
+  typedef Hildon::Window ParentWindow;
+#else
+  typedef Gtk::Window ParentWindow;
+#endif
+
   ///Don't forget to call init() too.
   App_WithDoc_Gtk(const Glib::ustring& appname);
 
@@ -52,10 +76,25 @@
 
   virtual void init(); //Unique final overrider.
 
+  /// Overidden to add a widget in the middle, under the menu, instead of replacing the whole contents.
+  virtual void add(Gtk::Widget& child);
+
+  /// For instance, to create bold primary text for a dialog box, without marking the markup for translation.
+  static Glib::ustring util_bold_message(const Glib::ustring& message);
+
 protected:
-  virtual void init_menus_file(); //overridden to add open/save/save as.
+  virtual void init_layout(); //Arranges the menu, toolbar, etc.
   virtual void init_menus_file_recentfiles(const Glib::ustring& path); // call this in init_menus_file()
-  virtual void init_toolbars(); //overridden to add open/save
+  virtual void init_ui_manager(); //Override this to add more UI placeholders
+  virtual void init_menus(); //Override this to add more or different menus.
+  virtual void init_menus_file(); //Call this from init_menus() to add the standard file menu.
+  virtual void init_menus_edit(); //Call this from init_menus() to add the standard edit menu
+  virtual void init_menus_help(); //Call this from init_menus() to add the standard help menu.	
+  virtual void init_toolbars();
+
+  virtual void add_ui_from_string(const Glib::ustring& ui_description); //Convenience function
+
+  virtual void on_hide(); //override.
 
   virtual void document_history_add(const Glib::ustring& file_uri); //overridden.
   virtual void document_history_remove(const Glib::ustring& file_uri); //overridden.
@@ -68,8 +107,40 @@
   virtual void ui_show_modification_status();
   virtual enumSaveChanges ui_offer_to_save_changes();
 
+
+  //Signal handlers:
+
+  //Menus:
+  virtual void on_menu_help_about();
+
+  virtual void on_about_close();
+
+
+  virtual void ui_hide();
+  virtual void ui_bring_to_front();
+
+  virtual bool on_delete_event(GdkEventAny* event); //override
+
   void on_recent_files_activate(Gtk::RecentChooser& recent_chooser);
 
+  //UIManager and Actions
+  Glib::RefPtr<Gtk::UIManager> m_refUIManager;
+  Glib::RefPtr<Gtk::ActionGroup> m_refFileActionGroup;
+  Glib::RefPtr<Gtk::ActionGroup> m_refEditActionGroup;
+  Glib::RefPtr<Gtk::ActionGroup> m_refHelpActionGroup;
+
+  //Member widgets:
+  Gtk::VBox* m_pVBox;
+  Gtk::VBox m_VBox_PlaceHolder;
+
+  //Gtk::MenuBar m_MenuBar;
+  //Gtk::Menu m_Menu_File, m_Menu_Edit, m_Menu_Help;
+
+  Gtk::HandleBox m_HandleBox_Toolbar;
+  //Gtk::Toolbar m_Toolbar;
+
+  Gtk::Window* m_pAbout; //About box.
+
   //Menu stuff:
   Glib::RefPtr<Gtk::Action> m_action_save, m_action_saveas;
 };

Modified: trunk/glom/bakery/Dialog_OfferSave.cc
==============================================================================
--- trunk/glom/bakery/Dialog_OfferSave.cc	(original)
+++ trunk/glom/bakery/Dialog_OfferSave.cc	Tue Mar 24 01:14:04 2009
@@ -18,7 +18,7 @@
 
 #include <config.h>
 #include <glom/bakery/Dialog_OfferSave.h>
-#include <glom/bakery/App_Gtk.h>
+#include <glom/bakery/App_WithDoc_Gtk.h>
 #include <gtkmm/box.h>
 #include <gtkmm/stock.h>
 #include <glibmm/i18n-lib.h>
@@ -42,7 +42,7 @@
 #ifdef GLOM_ENABLE_MAEMO
 : Hildon::Note(Hildon::NOTE_TYPE_CONFIRMATION_BUTTON, get_confirmation_message(file_uri))
 #else
-: Gtk::MessageDialog( App_Gtk::util_bold_message(_("Close without Saving")), true /* use markup */, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE)
+: Gtk::MessageDialog( App_WithDoc_Gtk::util_bold_message(_("Close without Saving")), true /* use markup */, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE)
 #endif
 {
   set_title(""); //The HIG says that alert dialogs should not have titles. The default comes from the message type.

Modified: trunk/glom/bakery/Makefile.am
==============================================================================
--- trunk/glom/bakery/Makefile.am	(original)
+++ trunk/glom/bakery/Makefile.am	Tue Mar 24 01:14:04 2009
@@ -1,7 +1,7 @@
 AM_CPPFLAGS = -I top_srcdir@/ -I top_srcdir@/glom $(GLOM_CFLAGS)
 
-h_sources = App_Gtk.h App_WithDoc.h App.h App_WithDoc_Gtk.h Dialog_OfferSave.h
-cc_sources = App_Gtk.cc App_WithDoc.cc App.cc App_WithDoc_Gtk.cc Dialog_OfferSave.cc
+h_sources = App_WithDoc.h App.h App_WithDoc_Gtk.h Dialog_OfferSave.h
+cc_sources = App_WithDoc.cc App.cc App_WithDoc_Gtk.cc Dialog_OfferSave.cc
 
 noinst_LIBRARIES = libbakery_app.a
 libbakery_app_a_SOURCES = $(h_sources) $(cc_sources)

Modified: trunk/glom/utility_widgets/adddel/adddel.cc
==============================================================================
--- trunk/glom/utility_widgets/adddel/adddel.cc	(original)
+++ trunk/glom/utility_widgets/adddel/adddel.cc	Tue Mar 24 01:14:04 2009
@@ -28,7 +28,7 @@
 #include <libglom/data_structure/glomconversions.h>
 #include "../../dialog_invalid_data.h"
 #include <libglom/utils.h>
-#include <glom/bakery/App_Gtk.h>
+//#include <glom/bakery/App_Gtk.h>
 #include <iostream> //For debug output.
 
 #ifdef GLOM_ENABLE_MAEMO



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]