[Xfce4-commits] <parole:0.2.2> Correctly handle window minimize
Ali Abdallah
noreply at xfce.org
Wed Dec 15 18:32:02 CET 2010
Updating branch refs/heads/0.2.2
to e7327883568b1f013f320435a7b87e3d39fb054b (commit)
from cd7fd90fdc0e7415f5c35c57627d262b78820360 (commit)
commit e7327883568b1f013f320435a7b87e3d39fb054b
Author: Ali Abdallah <aliov at xfce.org>
Date: Wed Dec 15 17:56:58 2010 +0100
Correctly handle window minimize
data/interfaces/parole.ui | 5 ++++-
src/parole-conf.c | 12 ++++++++++--
src/parole-player.c | 27 ++++++++++++++++++++-------
3 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 0eaf552..dce5250 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -687,7 +687,7 @@
</child>
<child>
<object class="GtkHScale" id="volume">
- <property name="width_request">100</property>
+ <property name="width_request">80</property>
<property name="height_request">2</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -697,6 +697,9 @@
<signal name="scroll_event" handler="parole_player_volume_scroll_event_cb"/>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
<property name="position">5</property>
</packing>
</child>
diff --git a/src/parole-conf.c b/src/parole-conf.c
index d45a64f..f5f1bbc 100644
--- a/src/parole-conf.c
+++ b/src/parole-conf.c
@@ -65,6 +65,7 @@ enum
PROP_ASPECT_RATIO,
PROP_WINDOW_WIDTH,
PROP_WINDOW_HEIGHT,
+ PROP_MINIMIZED,
PROP_MULTIMEDIA_KEYS,
/*Playlist*/
PROP_REPLACE_PLAYLIST,
@@ -248,6 +249,13 @@ parole_conf_class_init (ParoleConfClass *klass)
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
+ PROP_MINIMIZED,
+ g_param_spec_boolean ("minimized",
+ NULL, NULL,
+ FALSE,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class,
PROP_SUBTITLE_FONT,
g_param_spec_string ("subtitle-font",
NULL, NULL,
@@ -315,7 +323,7 @@ parole_conf_class_init (ParoleConfClass *klass)
PROP_WINDOW_WIDTH,
g_param_spec_int ("window-width",
NULL, NULL,
- 320,
+ 100,
G_MAXINT16,
760,
G_PARAM_READWRITE));
@@ -324,7 +332,7 @@ parole_conf_class_init (ParoleConfClass *klass)
PROP_WINDOW_HEIGHT,
g_param_spec_int ("window-height",
NULL, NULL,
- 220,
+ 100,
G_MAXINT16,
420,
G_PARAM_READWRITE));
diff --git a/src/parole-player.c b/src/parole-player.c
index 599bdd0..47f495f 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -949,19 +949,29 @@ parole_player_range_value_changed (GtkRange *range, ParolePlayer *player)
void parole_player_minimize_clicked_cb (GtkWidget *widget, ParolePlayer *player)
{
-
if ( player->minimized )
{
+ gint w, h;
+
+ g_object_get (G_OBJECT (player->conf),
+ "window-width", &w,
+ "window-height", &h,
+ NULL);
+
+ gtk_window_resize (GTK_WINDOW(player->window), w, h);
+
gtk_widget_show (GTK_WIDGET (player->gst));
gtk_widget_show (GTK_WIDGET (player->video_view));
gtk_widget_show (GTK_WIDGET (player->sidebar));
gtk_widget_show (player->show_hide_playlist);
parole_set_widget_image_from_stock (player->min_view, GTK_STOCK_REMOVE);
- player->minimized = FALSE;
+
+ player->minimized = FALSE;
}
else
{
+ player->minimized = TRUE;
gtk_widget_hide (GTK_WIDGET (player->gst));
gtk_widget_hide (GTK_WIDGET (player->video_view));
gtk_widget_hide (GTK_WIDGET (player->sidebar));
@@ -970,9 +980,9 @@ void parole_player_minimize_clicked_cb (GtkWidget *widget, ParolePlayer *player)
parole_set_widget_image_from_stock (player->min_view, GTK_STOCK_ADD);
gtk_window_resize (GTK_WINDOW(player->window), 1, 1);
-
- player->minimized = TRUE;
}
+
+ xfce_gtk_window_center_on_active_screen (GTK_WINDOW (player->window));
}
static void
@@ -1123,13 +1133,16 @@ parole_player_full_screen (ParolePlayer *player, gboolean fullscreen)
gtk_window_unfullscreen (GTK_WINDOW (player->window));
//gtk_notebook_set_current_page (GTK_NOTEBOOK (player->playlist_nt), current_page);
- player->full_screen = FALSE;
+
gtk_widget_destroy (player->fs_window);
player->fs_window = NULL;
+ player->full_screen = FALSE;
}
else
{
+ player->full_screen = TRUE;
+
if (!player->fs_window)
{
parole_player_create_fullscreen_window (player);
@@ -1149,7 +1162,6 @@ parole_player_full_screen (ParolePlayer *player, gboolean fullscreen)
//gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->main_nt), FALSE);
gtk_window_fullscreen (GTK_WINDOW (player->window));
- player->full_screen = TRUE;
}
}
@@ -1908,9 +1920,10 @@ parole_player_configure_event_cb (GtkWidget *widget, GdkEventConfigure *ev, Paro
{
gint w,h;
- if ( !player->full_screen )
+ if ( !player->full_screen && !player->minimized)
{
gtk_window_get_size (GTK_WINDOW (widget), &w, &h);
+
g_object_set (G_OBJECT (player->conf),
"window-width", w,
"window-height", h,
More information about the Xfce4-commits
mailing list