#include "ardour/dB.h"
#include "ardour/rc_configuration.h"
-#include "gtk2_ardour/stripable_colorpicker.h"
#include "gtkmm2ext/utils.h"
#include "widgets/ardour_dropdown.h"
#include "widgets/slider_controller.h"
+#include "stripable_colorpicker.h"
#include "ardour_dialog.h"
#include "luadialog.h"
#include "splash.h"
protected:
Gtk::ColorButton _cs;
};
-/*
-local a = {
- {type = "color", key = "col", title = ""}
-}
-
-local rv = LuaDialog.Dialog("", a):run()
-
-print(rv['col'])
-*/
class LuaDialogCheckbox : public LuaDialogWidget
{
switch (a) {
case Gtk::FILE_CHOOSER_ACTION_OPEN:
case Gtk::FILE_CHOOSER_ACTION_SAVE:
- if (Glib::file_test (path, Glib::FILE_TEST_IS_REGULAR|Glib::FILE_TEST_EXISTS)) {
- _fc.set_filename (path);
- }
- break;
case Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER:
- if (Glib::file_test (path, Glib::FILE_TEST_IS_DIR|Glib::FILE_TEST_EXISTS)) {
- _fc.set_filename (path);
- }
+ _fc.set_filename (path);
break;
case Gtk::FILE_CHOOSER_ACTION_CREATE_FOLDER:
break;
Gtk::Table* table = Gtk::manage (new Gtk::Table ());
table->set_col_spacings (20);
table->set_row_spacings (8);
- _ad.get_vbox ()->pack_start (*table);
+ table->signal_size_allocate ().connect (sigc::mem_fun (this, &Dialog::table_size_alloc));
+
+ _scroller.set_shadow_type(Gtk::SHADOW_NONE);
+ _scroller.set_border_width(0);
+ _scroller.add (*table);
+ _scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_NEVER);
+
+ _ad.get_vbox ()->pack_start (_scroller);
int row = 0;
int last_end = -1;
luabridge::push (L, rv);
return 1;
}
+
+void
+Dialog::table_size_alloc (Gtk::Allocation& allocation)
+{
+ /* XXX: consider using 0.75 * screen-height instead of 512 */
+ if (allocation.get_height () > 512) {
+ _scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
+ _ad.set_size_request (-1, 512);
+ }
+}