137
127
return base.window_state_event(event);
140
private void create_layout() {
141
Gtk.Box main_layout = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
130
private void create_layout () {
131
main_toolbar = new MainToolbar ();
132
main_toolbar.show_close_button = true;
133
set_titlebar (main_toolbar);
134
title = GearyApplication.NAME;
144
Gtk.ScrolledWindow folder_list_scrolled = new Gtk.ScrolledWindow(null, null);
145
folder_list_scrolled.set_size_request(FOLDER_LIST_WIDTH, -1);
146
folder_list_scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
147
folder_list_scrolled.add(folder_list);
148
folder_box = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
149
folder_box.get_style_context().add_class(Gtk.STYLE_CLASS_SIDEBAR);
150
folder_box.pack_start(folder_list_scrolled, true, true);
137
Gtk.ScrolledWindow folder_list_scrolled = new Gtk.ScrolledWindow (null, null);
138
folder_list_scrolled.hscrollbar_policy = Gtk.PolicyType.NEVER;
139
folder_list_scrolled.width_request = 100;
140
folder_list_scrolled.add (folder_list);
142
spinner.height_request = STATUS_BAR_HEIGHT - 2;
144
status_bar.height_request = STATUS_BAR_HEIGHT;
145
status_bar.margin = 3;
146
status_bar.add (spinner);
148
Gtk.Box folder_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0);
149
folder_box.get_style_context ().add_class (Gtk.STYLE_CLASS_SIDEBAR);
150
folder_box.pack_start (folder_list_scrolled, true, true);
151
folder_box.pack_start (status_bar, false, false);
153
conversation_list_scrolled = new Gtk.ScrolledWindow(null, null);
154
conversation_list_scrolled.set_size_request(MESSAGE_LIST_WIDTH, -1);
155
conversation_list_scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
156
conversation_list_scrolled.add(conversation_list_view);
157
conversation_box = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
158
conversation_box.pack_start(conversation_list_scrolled, true, true);
160
// Three-pane display.
161
status_bar.set_size_request(-1, STATUS_BAR_HEIGHT);
162
status_bar.set_border_width(2);
163
spinner.set_size_request(STATUS_BAR_HEIGHT - 2, -1);
164
status_bar.add(spinner);
154
conversation_list_scrolled = new Gtk.ScrolledWindow (null, null);
155
conversation_list_scrolled.hscrollbar_policy = Gtk.PolicyType.NEVER;
156
conversation_list_scrolled.width_request = 250;
157
conversation_list_scrolled.add (conversation_list_view);
166
159
// Folder list to the left of everything.
167
folder_paned.pack1(folder_box, false, false);
168
folder_paned.pack2(conversation_box, true, false);
160
folder_paned.pack1 (folder_box, false, false);
161
folder_paned.pack2 (conversation_list_scrolled, true, false);
170
163
// Message list left of message viewer.
171
conversations_paned.pack1(folder_paned, true, false);
172
conversations_paned.pack2(conversation_viewer, true, true);
174
main_layout.pack_end(conversations_paned, true, true, 0);
164
conversations_paned.pack1 (folder_paned, true, false);
165
conversations_paned.pack2 (conversation_viewer, true, true);
166
conversations_paned.expand = true;
168
add (conversations_paned);
179
171
// Returns true when there's a conversation list scrollbar visible, i.e. the list is tall
261
253
private void on_change_orientation() {
262
254
bool horizontal = GearyApplication.instance.config.folder_list_pane_horizontal;
265
if (status_bar.parent != null) {
266
status_bar.parent.remove(status_bar);
270
256
GLib.Settings.unbind(folder_paned, "position");
271
folder_paned.orientation = horizontal ? Gtk.Orientation.HORIZONTAL :
272
Gtk.Orientation.VERTICAL;
274
int folder_list_width =
275
GearyApplication.instance.config.folder_list_pane_position_horizontal;
278
conversations_paned.position += folder_list_width;
279
folder_box.pack_start(status_bar, false, false);
282
conversations_paned.position -= folder_list_width;
283
conversation_box.pack_start(status_bar, false, false);
257
folder_paned.orientation = horizontal ? Gtk.Orientation.HORIZONTAL : Gtk.Orientation.VERTICAL;
286
259
GearyApplication.instance.config.bind(
287
260
horizontal ? Configuration.FOLDER_LIST_PANE_POSITION_HORIZONTAL_KEY
288
: Configuration.FOLDER_LIST_PANE_POSITION_VERTICAL_KEY,
289
folder_paned, "position");
261
: Configuration.FOLDER_LIST_PANE_POSITION_VERTICAL_KEY, folder_paned, "position");