diff --git a/src/interface.cpp b/src/interface.cpp
index 775f53b35e83b4c0ec6830cf9bd9a5c4090d92cd..0ec73d81bbcb735a39ae502bd5acfa22ee6d03ed 100644 (file)
--- a/src/interface.cpp
+++ b/src/interface.cpp
#include "event-context.h"
#include "gradient-drag.h"
+// Include Mac OS X menu synchronization on native OSX build
+#ifdef GDK_WINDOWING_QUARTZ
+#include "ige-mac-menu.h"
+#endif
+
using Inkscape::IO::StringOutputStream;
using Inkscape::IO::Base64OutputStream;
} ui_drop_target_info;
static GtkTargetEntry ui_drop_target_entries [] = {
- {"text/uri-list", 0, URI_LIST},
- {"image/svg+xml", 0, SVG_XML_DATA},
- {"image/svg", 0, SVG_DATA},
- {"image/png", 0, PNG_DATA},
- {"image/jpeg", 0, JPEG_DATA},
+ {(gchar *)"text/uri-list", 0, URI_LIST },
+ {(gchar *)"image/svg+xml", 0, SVG_XML_DATA },
+ {(gchar *)"image/svg", 0, SVG_DATA },
+ {(gchar *)"image/png", 0, PNG_DATA },
+ {(gchar *)"image/jpeg", 0, JPEG_DATA },
#if ENABLE_MAGIC_COLORS
- {"application/x-inkscape-color", 0, APP_X_INKY_COLOR},
+ {(gchar *)"application/x-inkscape-color", 0, APP_X_INKY_COLOR},
#endif // ENABLE_MAGIC_COLORS
- {"application/x-color", 0, APP_X_COLOR}
+ {(gchar *)"application/x-color", 0, APP_X_COLOR }
};
static GtkTargetEntry *completeDropTargets = 0;
Gtk::Window *win = Inkscape::UI::window_new("", TRUE);
+ gtk_container_add(GTK_CONTAINER(win->gobj()), GTK_WIDGET(vw));
+ gtk_widget_show(GTK_WIDGET(vw));
+
if (editable) {
g_object_set_data(G_OBJECT(vw), "window", win);
desktop_widget->window = win;
- /* fixme: doesn't allow making window any smaller than this */
- win->set_default_size(640, 480);
-
win->set_data("desktop", desktop);
win->set_data("desktopwidget", desktop_widget);
win->signal_delete_event().connect(sigc::mem_fun(*(SPDesktop*)vw->view, &SPDesktop::onDeleteUI));
win->signal_window_state_event().connect(sigc::mem_fun(*desktop, &SPDesktop::onWindowStateEvent));
win->signal_focus_in_event().connect(sigc::mem_fun(*desktop_widget, &SPDesktopWidget::onFocusInEvent));
-
+
gint prefs_geometry =
(2==prefs_get_int_attribute("options.savewindowgeometry", "value", 0));
if (prefs_geometry) {
gtk_window_set_policy(GTK_WINDOW(win->gobj()), TRUE, TRUE, TRUE);
}
- gtk_container_add(GTK_CONTAINER(win->gobj()), GTK_WIDGET(vw));
- gtk_widget_show(GTK_WIDGET(vw));
-
if ( completeDropTargets == 0 || completeDropTargetsCount == 0 )
{
std::vector<gchar*> types;
* \param widget unused
*/
void
-sp_ui_close_view(GtkWidget *widget)
+sp_ui_close_view(GtkWidget */*widget*/)
{
if (SP_ACTIVE_DESKTOP == NULL) {
return;
* investigate when they're called.
*/
static void
-sp_ui_menu_activate(void *object, SPAction *action)
+sp_ui_menu_activate(void */*object*/, SPAction *action)
{
sp_action_perform(action, NULL);
}
static void
-sp_ui_menu_select_action(void *object, SPAction *action)
+sp_ui_menu_select_action(void */*object*/, SPAction *action)
{
action->view->tipsMessageContext()->set(Inkscape::NORMAL_MESSAGE, action->tip);
}
static void
-sp_ui_menu_deselect_action(void *object, SPAction *action)
+sp_ui_menu_deselect_action(void */*object*/, SPAction *action)
{
action->view->tipsMessageContext()->clear();
}
else if (!strcmp(n, "Page_Down" )) return "PgDn";
else if (!strcmp(n, "grave" )) return "`";
else if (!strcmp(n, "numbersign" )) return "#";
- else if (!strcmp(n, "bar" )) return "|";
- else if (!strcmp(n, "slash" )) return "/";
- else if (!strcmp(n, "exclam" )) return "!";
+ else if (!strcmp(n, "bar" )) return "|";
+ else if (!strcmp(n, "slash" )) return "/";
+ else if (!strcmp(n, "exclam" )) return "!";
+ else if (!strcmp(n, "percent" )) return "%";
else return n;
}
}
static gboolean
-checkitem_update(GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
+checkitem_update(GtkWidget *widget, GdkEventExpose */*event*/, gpointer user_data)
{
GtkCheckMenuItem *menuitem=GTK_CHECK_MENU_ITEM(widget);
@@ -730,13 +733,13 @@ sp_ui_menu_append_check_item_from_verb(GtkMenu *menu, Inkscape::UI::View::View *
}
static void
-sp_recent_open(GtkWidget *widget, gchar const *uri)
+sp_recent_open(GtkWidget */*widget*/, gchar const *uri)
{
sp_file_open(uri, NULL);
}
static void
-sp_file_new_from_template(GtkWidget *widget, gchar const *uri)
+sp_file_new_from_template(GtkWidget */*widget*/, gchar const *uri)
{
sp_file_new(uri);
}
{
GtkWidget *mbar = gtk_menu_bar_new();
+#ifdef GDK_WINDOWING_QUARTZ
+ ige_mac_menu_set_menu_bar(GTK_MENU_SHELL(mbar));
+#endif
+
sp_ui_build_dyn_menus(inkscape_get_menus(INKSCAPE), mbar, view);
+#ifdef GDK_WINDOWING_QUARTZ
+ return NULL;
+#else
return mbar;
+#endif
}
static void leave_group(GtkMenuItem *, SPDesktop *desktop) {
gint x, gint y,
GtkSelectionData *data,
guint info,
- guint event_time,
- gpointer user_data)
+ guint /*event_time*/,
+ gpointer /*user_data*/)
{
SPDocument *doc = SP_ACTIVE_DOCUMENT;
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
Path *livarot_path = Path_for_item(item, true, true);
livarot_path->ConvertWithBackData(0.04);
- NR::Maybe<Path::cut_position> position = get_nearest_position_on_Path(livarot_path, button_doc);
+ boost::optional<Path::cut_position> position = get_nearest_position_on_Path(livarot_path, button_doc);
if (position) {
NR::Point nearest = get_point_on_Path(livarot_path, position->piece, position->t);
NR::Point delta = nearest - button_doc;
( !SP_OBJECT_STYLE(item)->stroke.isNone() ?
desktop->current_zoom() *
SP_OBJECT_STYLE (item)->stroke_width.computed *
- sp_item_i2d_affine (item).expansion() * 0.5
+ NR::expansion(from_2geom(sp_item_i2d_affine(item))) * 0.5
: 0.0)
+ prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100);
int const saved_pref = prefs_get_int_attribute("options.transform", "pattern", 1);
prefs_set_int_attribute("options.transform", "pattern", 1);
sp_document_ensure_up_to_date(sp_desktop_document(desktop));
- NR::Maybe<NR::Rect> sel_bbox = selection->bounds();
+ boost::optional<NR::Rect> sel_bbox = selection->bounds();
if (sel_bbox) {
NR::Point m( desktop->point() - sel_bbox->midpoint() );
sp_selection_move_relative(selection, m);
#include "gradient-context.h"
-void sp_ui_drag_motion( GtkWidget *widget,
- GdkDragContext *drag_context,
- gint x, gint y,
- GtkSelectionData *data,
- guint info,
- guint event_time,
- gpointer user_data)
+void sp_ui_drag_motion( GtkWidget */*widget*/,
+ GdkDragContext */*drag_context*/,
+ gint /*x*/, gint /*y*/,
+ GtkSelectionData */*data*/,
+ guint /*info*/,
+ guint /*event_time*/,
+ gpointer /*user_data*/)
{
- SPDocument *doc = SP_ACTIVE_DOCUMENT;
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
+// SPDocument *doc = SP_ACTIVE_DOCUMENT;
+// SPDesktop *desktop = SP_ACTIVE_DESKTOP;
// g_message("drag-n-drop motion (%4d, %4d) at %d", x, y, event_time);
}
-static void sp_ui_drag_leave( GtkWidget *widget,
- GdkDragContext *drag_context,
- guint event_time,
- gpointer user_data )
+static void sp_ui_drag_leave( GtkWidget */*widget*/,
+ GdkDragContext */*drag_context*/,
+ guint /*event_time*/,
+ gpointer /*user_data*/ )
{
// g_message("drag-n-drop leave at %d", event_time);
}
}
static void
-sp_ui_import_one_file_with_check(gpointer filename, gpointer unused)
+sp_ui_import_one_file_with_check(gpointer filename, gpointer /*unused*/)
{
if (filename) {
if (strlen((char const *)filename) > 2)
}
static void
-sp_ui_menu_item_set_sensitive(SPAction *action, unsigned int sensitive, void *data)
+sp_ui_menu_item_set_sensitive(SPAction */*action*/, unsigned int sensitive, void *data)
{
return gtk_widget_set_sensitive(GTK_WIDGET(data), sensitive);
}
static void
-sp_ui_menu_item_set_name(SPAction *action, Glib::ustring name, void *data)
+sp_ui_menu_item_set_name(SPAction */*action*/, Glib::ustring name, void *data)
{
void *child = GTK_BIN (data)->child;
//child is either