Show diagram zoom in the main window.
This commit is contained in:
		
							parent
							
								
									da3e53215b
								
							
						
					
					
						commit
						366cfa3473
					
				| @ -40,6 +40,7 @@ struct _LdWindowMainPrivate | ||||
| 	LdDiagramView *view; | ||||
| 
 | ||||
| 	GtkWidget *statusbar; | ||||
| 	GtkWidget *zoom_label; | ||||
| 	guint statusbar_symbol_context_id; | ||||
| 	guint statusbar_menu_context_id; | ||||
| 	guint statusbar_hint_context_id; | ||||
| @ -341,9 +342,6 @@ ld_window_main_init (LdWindowMain *self) | ||||
| 	ld_diagram_view_set_diagram (priv->view, priv->diagram); | ||||
| 	ld_diagram_view_set_library (priv->view, priv->library); | ||||
| 
 | ||||
| 	g_signal_connect (priv->view, "notify::zoom", | ||||
| 		G_CALLBACK (on_view_zoom_changed), self); | ||||
| 
 | ||||
| 	ld_category_view_set_category (LD_CATEGORY_VIEW (priv->library_view), | ||||
| 		ld_library_get_root (priv->library)); | ||||
| 
 | ||||
| @ -358,6 +356,15 @@ ld_window_main_init (LdWindowMain *self) | ||||
| 		(GTK_STATUSBAR (priv->statusbar), priv->statusbar_hint_context_id, | ||||
| 		_("Drag symbols from the library pane to add them to the diagram.")); | ||||
| 
 | ||||
| 	priv->zoom_label = gtk_label_new (""); | ||||
| 	gtk_label_set_single_line_mode (GTK_LABEL (priv->zoom_label), TRUE); | ||||
| 	gtk_box_pack_end (GTK_BOX (gtk_statusbar_get_message_area | ||||
| 		(GTK_STATUSBAR (priv->statusbar))), priv->zoom_label, FALSE, FALSE, 0); | ||||
| 
 | ||||
| 	g_signal_connect (priv->view, "notify::zoom", | ||||
| 		G_CALLBACK (on_view_zoom_changed), self); | ||||
| 	g_object_notify (G_OBJECT (priv->view), "zoom"); | ||||
| 
 | ||||
| 	action_set_sensitive (self, "Undo", FALSE); | ||||
| 	action_set_sensitive (self, "Redo", FALSE); | ||||
| 	action_set_sensitive (self, "Delete", FALSE); | ||||
| @ -901,12 +908,19 @@ static void | ||||
| on_view_zoom_changed (LdDiagramView *view, GParamSpec *pspec, | ||||
| 	LdWindowMain *self) | ||||
| { | ||||
| 	gchar *zoom; | ||||
| 
 | ||||
| 	action_set_sensitive (self, "ZoomIn", | ||||
| 		ld_diagram_view_can_zoom_in (self->priv->view)); | ||||
| 	action_set_sensitive (self, "ZoomOut", | ||||
| 		ld_diagram_view_can_zoom_out (self->priv->view)); | ||||
| 	action_set_sensitive (self, "NormalSize", | ||||
| 		ld_diagram_view_get_zoom (self->priv->view) != 1); | ||||
| 
 | ||||
| 	zoom = g_strdup_printf (_("%d%%"), | ||||
| 		(gint) (ld_diagram_view_get_zoom (self->priv->view) * 100 + 0.5)); | ||||
| 	gtk_label_set_text (GTK_LABEL (self->priv->zoom_label), zoom); | ||||
| 	g_free (zoom); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user