Commit Graph

9 Commits

Author SHA1 Message Date
645a1ab652 Store the zoom factor as float, not as a ratio.
2004-01-29  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
	float, not as a ratio.

	* app/display/gimpdisplayshell-scale.[ch]: change the API to
	expose the Float instead a weirdly encoded integer. Implement
	functions to get a ratio from the scale factor. Implement a set
	as presets as discussed on the mailinglist. Changed Zoom->Other
	dialog to enable entering a float.

	* app/display/gimpdisplayshell-title.c
	* app/display/gimpnavigationview.c
	* app/gui/image-menu.c
	* app/gui/info-window.c
	* app/tools/gimpmagnifytool.c: changed accordingly.

	* app/core/gimp.[ch]
	* app/display/gimpdisplay.[ch]
	* app/gui/gui-vtable.c
	* app/widgets/widgets-enums.h: Made the various display-creating
	functions accept a float for the scale. Introduce a new
	GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
	floats instead of weird integers.

	* app/core/gimp-edit.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/file/file-open.c
	* app/gui/image-commands.c
	* app/gui/view-commands.[ch]
	* tools/pdbgen/pdb/display.pdb
	* app/widgets/gimpimageview.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly

	* app/pdb/display_cmds.c: regenerated
2004-01-29 22:22:29 +00:00
cbdb6947af call the callback with the selected image which is not necessarily the
2004-01-12  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpmenu.c (gimp_image_menu_new): call the callback with
	the selected image which is not necessarily the requested one
	(fixes bug #92586).
	Also changed all menu constructors to always call the registered
	callback even when the value is -1 because the menu is empty.

	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): run the
	procedure even if there's no active GIMP display. The display and
	screen is then taken from the current cursor position.

	* app/gui/gui-vtable.c (gui_get_display_name): don't call
	gimp_display_get_by_ID() unless gdisp_ID is > 0.
2004-01-12 11:00:45 +00:00
0ce22bfc51 split out function themes_apply_theme() from themes_init(). Connect to
2003-11-12  Michael Natterer  <mitch@gimp.org>

	* app/gui/themes.[ch]: split out function themes_apply_theme()
	from themes_init(). Connect to "notify::theme" of gimp->config and
	change the theme in the callback. Added themes_list_themes().
	Added "const gchar *theme_name" parameter to
	themes_get_theme_dir().

	* app/gui/gui-vtable.c (gui_get_theme_dir): changed accordingly.

	* app/gui/preferences-dialog.c (prefs_dialog_create): enabled
	theme selection on the "Interface" page. Still has many issues
	(like using a conceptually wrong method of theme changing ;-)
	but it won't get fixed if we cannot change themes on the fly...
2003-11-11 23:56:00 +00:00
5da6a94bf7 #include "themes.h".
2003-11-10  Michael Natterer  <mitch@gimp.org>

	* app/gui/gui-vtable.c: #include "themes.h".
2003-11-10 15:13:29 +00:00
cd218fef29 Made plug-ins honor the current GIMP theme:
2003-11-10  Michael Natterer  <mitch@gimp.org>

	Made plug-ins honor the current GIMP theme:

	* app/core/gimp.[ch]: added GimpGetThemeDirFunc to the GUI vtable.

	* app/gui/gui-vtable.c: implement it here.

	* tools/pdbgen/pdb/gimprc.pdb: added new PDB function
	gimp_get_theme_dir().

	* libgimp/gimpui.c: use the new function and fall back to
	gimp_gtkrc() if it returns NULL.

	* app/pdb/gimprc_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpgimprc_pdb.[ch]: regenerated.

	* app/gui/themes.c: unrelated cleanup.
2003-11-10 12:36:22 +00:00
bcd9794a99 To be multihead safe, each new window or menu needs to be associated with
2003-11-08  Michael Natterer  <mitch@gimp.org>

	To be multihead safe, each new window or menu needs to be
	associated with a GdkScreen or it will pop up on the default
	screen.

	* libgimpwidgets/gimpquerybox.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptooldialog.[ch]
	* app/widgets/gimpviewabledialog.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/edit-commands.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/templates-commands.[ch]
	* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
	paramaters to all functions which create menus, popups or windows
	and pass "parent" to gimp_dialog_new() or one of the various
	wrappers around it. As a side effect, this fixes bug #61092.

	* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
	instead of "parent" here since there are no possible parent
	windows on startup.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_button_press): added a quick hack to
	send a display to another screen: click the origin button with the
	middle mouse button.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_screen_changed): don't chain up
	undonditionally (don't crash).

	* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
	dialog's screen from a non-GtkWidget parent widget. The rest of
	non-window parent widget handling is still unimplemented.

	* libgimpwidgets/gimpcolorbutton.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpnavigationview.c
	* app/gui/module-browser.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/qmask-commands.c
	* app/gui/select-commands.c
	* app/gui/tool-options-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: changed addordingly. Changed all
	menu_position funcs to place the menu on the right screen.
2003-11-08 15:29:47 +00:00
efd9a3e14a added "wm_name", "wm_class", "display_name" and "monitor_number" to the
2003-11-07  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
	"display_name" and "monitor_number" to the GPConfig message.
	Increased protocol version number.

	* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
	message and remember them.
	Added public accessors for the new config values.

	* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
	gtk_init() and export the display/screen to use to the
	environment.

	* app/core/gimp.[ch]: added vtable entries to get the values
	from the GUI.

	* app/gui/gui-vtable.c: implement the vtable entries.

	* app/plug-in/plug-in-run.c: fill in the GPConfig values using
	the new Gimp vtable functions.

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/channels-commands.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/grid-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/splash.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tips-dialog.c
	* app/gui/vectors-commands.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpdock.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c
	* plug-ins/helpbrowser/dialog.c
	* plug-ins/ifscompose/ifscompose.c: replaced all calls to
	gtk_window_set_wmclass() by gtk_window_set_role() and all
	"const gchar *wmclass_name" parameters by "const gchar *role".
	Cleaned up the window role strings.
2003-11-07 17:29:02 +00:00
2b0c05131f renamed gimp_dialog_factories_idle() and _unidle() to
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: renamed
	gimp_dialog_factories_idle() and _unidle() to
	gimp_dialog_factories_set_busy() and _unset_busy().
	Added utility function gimp_dialog_factory_set_widget_data() and
	public API gimp_dialog_factory_from_widget() so we don't need to
	g_object_[set|get]_data() with magic keys all over the place.

	* app/widgets/gimpsessioninfo.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-menu.c
	* app/gui/gui-vtable.c: changed accordingly.

	* app/widgets/gimpsessioninfo.c: remember active page of all dock
	notebooks in sessionrc.

	* app/widgets/gimpsessioninfo.h: cleaned up the session info structs.
2003-10-13 11:57:50 +00:00
89d936f3aa Cleaned up the app init and exit stuff even more. Also reduces the number
2003-10-02  Michael Natterer  <mitch@gimp.org>

	Cleaned up the app init and exit stuff even more. Also reduces the
	number of missing symbols for gimp-console. Added init and exit
	debugging output (only for --verbose).

	* app/core/gimpmarshal.list
	* app/core/gimp.[ch]: added new signals "initialize" and
	"restore".  Moved plug_ins_init() to Gimp::restore()'s default
	implementation and plug_ins_exit() to Gimp::exit()'s default
	implementation. Renamed gimp_set_config() to gimp_load_config()
	and load GimpRC here. Moved base_init() and base_exit() to this
	file, too.

	* app/gui/Makefile.am
	* app/gui/gui-vtable.[ch]: new files split out of gui.c. It was
	simply too large.

	* app/gui/gui.[ch]: renamed gui_themes_init() to gui_init(),
	connect to Gimp's "initialize" and "restore" signals and create
	the GUI stuff in the callbacks. Removed most other public
	functions since they don't need to be called explicitly any more.
	Moved the whole tool initialization/shutdown code to this file.

	* app/gui/user-install-dialog.[ch]: changed
	user_install_dialog_create() to user_install_dialog_run() and
	added a gtk_main() at the end, so the install dialog's gtk_main()
	and gtk_main_quit() live in the same file.

	* app/app_procs.c: removed lots of stuff. app_init() is much
	simpler now.
2003-10-02 11:26:26 +00:00