~am-monkeyd/strip/sweat_bubble

« back to all changes in this revision

Viewing changes to main.vala

  • Committer: kekun.plazas at laposte
  • Date: 2011-06-03 20:08:02 UTC
  • Revision ID: kekun.plazas@laposte.net-20110603200802-64hy741yrcobws57
Movement through the pages bug fixed

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
                ModeButton mangaMode = new ModeButton();
37
37
                ProgressBar progressbar = new ProgressBar();
38
38
                HScaleWithPopup scale = new HScaleWithPopup();
39
 
                Button cursor = new Button.with_label("Next");
40
39
                ModeButton viewMode = new ModeButton();
41
40
                Menu menu = new Menu();
42
41
                AppMenu appMenu;
43
42
                
44
43
                // Preferences
 
44
                string view = "single";
 
45
                bool manga = false;
45
46
                bool rotate = false;
46
47
                bool clockwise = true;
47
48
                
89
90
                        scale_item.set_expand(true);
90
91
                        scale_item.add(scale);
91
92
                        
92
 
                        //Cursor
93
 
                        var cursor_item = new ToolItem();
94
 
                        cursor_item.set_expand(true);
95
 
                        cursor_item.add(cursor);
96
 
                        
97
93
                        // View ModeButton
98
94
                        var viewMode_double_image = new Image.from_file("view-mode-double.svg");
99
95
                        var viewMode_simple_image = new Image.from_file("view-mode-simple.svg");
101
97
                        viewMode.append(viewMode_double_image);
102
98
                        viewMode.append(viewMode_simple_image);
103
99
                        viewMode.append(viewMode_width_image);
104
 
//~                     if (layout.get_view_mode() == "double") { viewMode.selected = 0; }
105
 
//~                     else if (layout.get_view_mode() == "width") { viewMode.selected = 2; }
106
 
//~                     else { viewMode.selected = 1; }
107
100
                        var viewMode_item = new ToolItem();
108
101
                        viewMode_item.set_border_width(6);
109
102
                        viewMode_item.add(viewMode);
124
117
                        toolbar.insert(lens_item, -1);
125
118
                        toolbar.insert(mangaMode_item, -1);
126
119
                        toolbar.insert(progressbar_item, -1);
127
 
                        toolbar.insert(cursor_item, -1);
128
120
                        toolbar.insert(scale_item, -1);
129
121
                        toolbar.insert(viewMode_item, -1);
130
122
                        toolbar.insert(appMenu_item, -1);
142
134
                        welcome.append(Gtk.Stock.OPEN, "Open", "Open a comic book from your hard drive.");
143
135
                        welcome.append(Gtk.Stock.REFRESH, "Last", "Open the last comic book read.");
144
136
                        welcome.show_all();
145
 
                        cursor.clicked.connect (on_cursor_clicked);
146
 
                        layout.button_press_event.connect(on_layout_button_press_event);
147
137
                        
148
138
//~                     progressbar_item.hide();
149
 
                        scale_item.hide();
150
 
                        mangaMode.selected = 1;
 
139
//~                     scale_item.hide();
 
140
                        mangaMode.selected = (int) !manga;
151
141
                        viewMode.selected = 1;
152
142
                }
153
143
                
154
144
                public void on_layout_left_page_pressed()
155
 
                { stdout.printf("left\n"); }
156
 
                
 
145
                {
 
146
                        if (!manga)
 
147
                        { previous(); }
 
148
                        else
 
149
                        { next(); }
 
150
                }               
157
151
                public void on_layout_right_page_pressed()
158
 
                { stdout.printf("right\n"); }
159
 
                
160
 
                public void on_cursor_clicked()
161
 
                { next(); }
 
152
                {
 
153
                        if (!manga)
 
154
                        { next(); }
 
155
                        else
 
156
                        { previous(); }
 
157
                }
 
158
                                
 
159
                public void previous()
 
160
                {
 
161
                        // Attention à vérifier l'existence des pages utilisées en vérification
 
162
                        if (view == "double")
 
163
                        {
 
164
                                if (book.get_horizontal())
 
165
                                { book.previous_page();}
 
166
                                // Check to not leap a vertical page(s) between two horizontal pages
 
167
                                else if (!(book.get_page_horizontal(book.get_current_page()) && !book.get_page_horizontal(book.get_current_page() - 1) && book.get_page_horizontal(book.get_current_page() - 2)))
 
168
                                {
 
169
                                        if (!(book.get_current_page() % 2 == 1 && !book.get_page_horizontal(book.get_current_page() - 1) && book.get_page_horizontal(book.get_current_page() - 2))) 
 
170
                                        {
 
171
                                                if (!(book.get_current_page() % 2 == 0 && book.get_page_horizontal(book.get_current_page()) && !book.get_page_horizontal(book.get_current_page() - 1)))
 
172
                                                { book.previous_page();}
 
173
                                        }
 
174
                                }
 
175
                        }
 
176
                        else
 
177
                        {
 
178
                                if (book.get_page_horizontal(book.get_current_page()) && book.get_page_horizontal(book.get_current_page() - 1))
 
179
                                { book.previous_page();}
 
180
                        }
 
181
                        book.previous_page();
 
182
                        refresh();
 
183
                }
162
184
 
163
185
                public void next()
164
186
                {
165
 
                        // Rajouter vérif avec %2
166
 
                        if (viewMode.selected == 0)
 
187
                        // Attention à vérifier l'existence des pages utilisées en vérification
 
188
                        if (view == "double")
167
189
                        {
168
 
                                if (book.get_horizontal() || (!(book.get_page_horizontal(book.get_current_page() + 2) && !book.get_page_horizontal(book.get_current_page() + 1) ) && !(book.get_page_horizontal(book.get_current_page()) && !book.get_page_horizontal(book.get_current_page() + 1))))
 
190
                                if (book.get_horizontal())
169
191
                                { book.next_page();}
 
192
                                // Check to not leap a vertical page(s) between two horizontal pages
 
193
                                else if (!(book.get_page_horizontal(book.get_current_page()) && !book.get_page_horizontal(book.get_current_page() + 1) && book.get_page_horizontal(book.get_current_page() + 2)))
 
194
                                {
 
195
                                        if (!(book.get_current_page() % 2 == 0 && !book.get_page_horizontal(book.get_current_page() + 1) && book.get_page_horizontal(book.get_current_page() + 2))) 
 
196
                                        {
 
197
                                                if (!(book.get_current_page() % 2 == 1 && book.get_page_horizontal(book.get_current_page()) && !book.get_page_horizontal(book.get_current_page() + 1)))
 
198
                                                { book.next_page();}
 
199
                                        }
 
200
                                }
170
201
                        }
171
202
                        else
172
203
                        {
182
213
                
183
214
                public void on_viewMode_mode_changed()
184
215
                {
 
216
                        if (viewMode.selected == 0)
 
217
                        { view = "double"; }
 
218
                        else if (viewMode.selected == 2)
 
219
                        { view = "width"; }
 
220
                        else
 
221
                        { view = "single"; }
185
222
                        refresh();
186
 
//~                     if (viewMode.selected == 0)
187
 
//~                     { layout.set_double_mode(); }
188
 
//~                     else if (viewMode.selected == 2)
189
 
//~                     { layout.set_width_mode(); }
190
 
//~                     else
191
 
//~                     { layout.set_single_mode(); }
192
 
//~                     layout.refresh();
193
223
                }
194
224
                
195
225
                public void on_mangaMode_mode_changed()
196
 
                { refresh(); }
 
226
                {
 
227
                        manga = !((bool) mangaMode.selected);
 
228
                        refresh();
 
229
                }
197
230
                
198
231
                public void on_welcome_activated(int index)
199
232
                {
202
235
                        else if (index == 1)
203
236
                        { stdout.printf("refresh\n"); }
204
237
                }
205
 
                
206
 
                public bool on_layout_button_press_event(Widget widget, EventButton event)
207
 
                {
208
 
                        stdout.printf("on_layout_button_press_event\n");
209
 
                        book.next_page();
210
 
                        return false;
211
 
                }
212
 
                
 
238
                                
213
239
                public void open()
214
240
                {
215
241
                        string filename = "";
252
278
                
253
279
                private void refresh()
254
280
                {
255
 
                        if (mangaMode.selected == 0)
256
 
                        {
257
 
                        }
258
 
                        if (viewMode.selected == 0)
 
281
                        if (view == "double")
259
282
                        {
260
283
//~                             layout.set_double(book.get_pixbuf(book.get_current_page()), book.get_pixbuf(book.get_current_page() + 1));
261
284
 
279
302
                                                if (!(!book.get_horizontal() && book.get_page_horizontal(second_number)))
280
303
                                                { second_page = book.get_pixbuf(second_number); }
281
304
                                        }
282
 
                                        layout.set_double(first_page, second_page);
 
305
                                        if (manga)
 
306
                                        {
 
307
                                                layout.set_double(second_page, first_page);
 
308
                                        }
 
309
                                        else
 
310
                                        {
 
311
                                                layout.set_double(first_page, second_page);
 
312
                                        }
283
313
                                }
284
314
                        }
285
315
                        else