2 * This file is part of RawTherapee.
4 * Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
6 * RawTherapee is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * RawTherapee is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
23 #include <batchtoolpanelcoord.h>
24 #include <filecatalog.h>
25 #include <dirbrowser.h>
26 #include <fileselectionlistener.h>
27 #include <placesbrowser.h>
28 #include <recentbrowser.h>
29 #include <pparamschangelistener.h>
31 #include <filterpanel.h>
34 class FilePanel
: public Gtk::HPaned
,
35 public FileSelectionListener
,
36 public PParamsChangeListener
40 Gtk::VPaned
* placespaned
;
41 Gtk::HPaned
* dirpaned
;
42 DirBrowser
* dirBrowser
;
43 PlacesBrowser
* placesBrowser
;
44 RecentBrowser
* recentBrowser
;
45 FileCatalog
* fileCatalog
; // filecatalog is the file browser with the button bar above it
47 BatchToolPanelCoordinator
* tpc
;
49 FilterPanel
* filterPanel
;
51 Gtk::Notebook
* rightNotebook
;
58 void setParent (RTWindow
* p
) { parent
= p
; }
59 void init (); // dont call it directly, the constructor calls it as idle source
60 void open (const Glib::ustring
& d
); // open a file or a directory
61 void refreshEditedState (const std::set
<Glib::ustring
>& efiles
) { fileCatalog
->refreshEditedState (efiles
); }
63 // call this before closeing rt: it saves file browser relating things into options
66 // interface fileselectionlistener
67 bool fileSelected (Thumbnail
* thm
);
68 bool addBatchQueueJob (BatchQueueEntry
* bqe
);
70 void optionsChanged ();