remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works

This commit is contained in:
Paul Davis 2013-05-02 18:13:35 -04:00
parent d14f43ccf2
commit 3973ce81b3
31 changed files with 32 additions and 69 deletions

View file

@ -60,7 +60,6 @@ AddRouteDialog::AddRouteDialog (Session* s)
set_session (s);
set_name ("AddRouteDialog");
set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);

View file

@ -68,7 +68,6 @@ AddVideoDialog::AddVideoDialog (Session* s)
{
set_session (s);
set_name ("AddVideoDialog");
set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (true);

View file

@ -37,6 +37,7 @@ ArdourDialog::ArdourDialog (string title, bool modal, bool use_seperator)
, _splash_pushed (false)
{
init ();
set_position (Gtk::WIN_POS_MOUSE);
}
ArdourDialog::ArdourDialog (Gtk::Window& parent, string title, bool modal, bool use_seperator)

View file

@ -933,7 +933,6 @@ ARDOUR_UI::ask_about_saving_session (const vector<string>& actions)
window.get_vbox()->pack_start (dhbox);
window.set_name (_("Prompter"));
window.set_position (Gtk::WIN_POS_MOUSE);
window.set_modal (true);
window.set_resizable (false);
@ -1367,8 +1366,6 @@ ARDOUR_UI::open_recent_session ()
while (true) {
session_selector_window->set_position (WIN_POS_MOUSE);
ResponseType r = (ResponseType) session_selector_window->run ();
switch (r) {
@ -3246,7 +3243,6 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
if (add_route_dialog == 0) {
add_route_dialog = new AddRouteDialog (_session);
add_route_dialog->set_position (WIN_POS_MOUSE);
if (float_window) {
add_route_dialog->set_transient_for (*float_window);
}

View file

@ -35,6 +35,7 @@ ArdourWindow::ArdourWindow (string title)
{
set_title (title);
init ();
set_position (Gtk::WIN_POS_MOUSE);
}
ArdourWindow::ArdourWindow (Gtk::Window& parent, string /*title*/)

View file

@ -1270,7 +1270,6 @@ AudioRegionView::show_region_editor ()
}
editor->present ();
editor->set_position (Gtk::WIN_POS_MOUSE);
editor->show_all();
}

View file

@ -115,7 +115,6 @@ BundleEditorMatrix::add_channel (boost::shared_ptr<Bundle> b, DataType t)
if (b == _bundle) {
NameChannelDialog d;
d.set_position (Gtk::WIN_POS_MOUSE);
if (d.run () != Gtk::RESPONSE_ACCEPT) {
return;
@ -162,7 +161,6 @@ void
BundleEditorMatrix::rename_channel (BundleChannel bc)
{
NameChannelDialog d (bc.bundle, bc.channel);
d.set_position (Gtk::WIN_POS_MOUSE);
if (d.run () != Gtk::RESPONSE_ACCEPT) {
return;

View file

@ -104,7 +104,6 @@ CrossfadeEditor::CrossfadeEditor (Session* s, boost::shared_ptr<Crossfade> xf, d
set_wmclass (X_("ardour_automationedit"), PROGRAM_NAME);
set_name ("CrossfadeEditWindow");
set_position (Gtk::WIN_POS_MOUSE);
add_accel_group (ActionManager::ui_manager->get_accel_group());

View file

@ -146,16 +146,13 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set<ArdourCanvas::CanvasNote
add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
add_button (Gtk::Stock::APPLY, Gtk::RESPONSE_ACCEPT);
set_default_response (Gtk::RESPONSE_ACCEPT);
show_all ();
}
int
EditNoteDialog::run ()
void
EditNoteDialog::done (int r)
{
int const r = Dialog::run ();
if (r != RESPONSE_ACCEPT) {
return r;
return;
}
/* These calls mean that if a value is entered using the keyboard
@ -227,6 +224,4 @@ EditNoteDialog::run ()
for (set<ArdourCanvas::CanvasNoteEvent*>::iterator i = _events.begin(); i != _events.end(); ++i) {
(*i)->set_selected ((*i)->selected()); // change color
}
return r;
}

View file

@ -35,7 +35,7 @@ class EditNoteDialog : public ArdourDialog
public:
EditNoteDialog (MidiRegionView *, std::set<Gnome::Canvas::CanvasNoteEvent*>);
int run ();
void done (int);
private:
MidiRegionView* _region_view;

View file

@ -3311,8 +3311,6 @@ Editor::duplicate_range (bool with_dialog)
win.add_button (_("Duplicate"), RESPONSE_ACCEPT);
win.set_default_response (RESPONSE_ACCEPT);
win.set_position (WIN_POS_MOUSE);
spinner.grab_focus ();
switch (win.run ()) {
@ -5389,7 +5387,6 @@ Editor::change_region_layering_order (bool from_context_menu)
if (layering_order_editor == 0) {
layering_order_editor = new RegionLayeringOrderEditor (*this);
layering_order_editor->set_position (WIN_POS_MOUSE);
}
layering_order_editor->set_context (clicked_routeview->name(), _session, clicked_routeview, pl, position);

View file

@ -109,13 +109,24 @@ class BundleManager;
class ButtonJoiner;
class ControlPoint;
class DragManager;
class EditNoteDialog;
class EditorCursor;
class EditorGroupTabs;
class EditorLocations;
class EditorRegions;
class EditorRoutes;
class EditorRouteGroups;
class EditorSnapshots;
class EditorSummary;
class GroupedButtons;
class GUIObjectState;
class Marker;
class MidiRegionView;
class MixerStrip;
class MouseCursors;
class PlaylistSelector;
class PluginSelector;
class ProgressReporter;
class RhythmFerret;
class Selection;
class SoundFileOmega;
@ -124,17 +135,7 @@ class TempoLines;
class TimeAxisView;
class TimeFXDialog;
class TimeSelection;
class EditorGroupTabs;
class EditorRoutes;
class EditorRouteGroups;
class EditorRegions;
class EditorLocations;
class EditorSnapshots;
class EditorSummary;
class RegionLayeringOrderEditor;
class ProgressReporter;
class EditorCursor;
class MouseCursors;
class VerboseCursor;
class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
@ -2129,7 +2130,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
bool _following_mixer_selection;
int time_fx (ARDOUR::RegionList&, float val, bool pitching);
void note_edit_done (int, EditNoteDialog*);
void toggle_sound_midi_notes ();
/** Flag for a bit of a hack wrt control point selection; see set_selected_control_point_from_click */

View file

@ -2281,7 +2281,6 @@ Editor::edit_control_point (ArdourCanvas::Item* item)
}
ControlPointDialog d (p);
d.set_position (Gtk::WIN_POS_MOUSE);
ensure_float (d);
if (d.run () != RESPONSE_ACCEPT) {
@ -2306,11 +2305,18 @@ Editor::edit_notes (TimeAxisViewItem& tavi)
return;
}
EditNoteDialog d (&(*s.begin())->region_view(), s);
d.set_position (Gtk::WIN_POS_MOUSE);
ensure_float (d);
EditNoteDialog* d = new EditNoteDialog (&(*s.begin())->region_view(), s);
d->show_all ();
ensure_float (*d);
d.run ();
d->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &Editor::note_edit_done), d));
}
void
Editor::note_edit_done (int r, EditNoteDialog* d)
{
d->done (r);
delete d;
}
void

View file

@ -2383,7 +2383,6 @@ Editor::rename_region ()
d.add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK);
d.set_size_request (300, -1);
d.set_position (Gtk::WIN_POS_MOUSE);
entry.set_text (rs.front()->region()->name());
entry.select_region (0, -1);

View file

@ -207,7 +207,6 @@ Editor::mouse_add_new_tempo_event (framepos_t frame)
TempoMap& map(_session->tempo_map());
TempoDialog tempo_dialog (map, frame, _("add"));
tempo_dialog.set_position (Gtk::WIN_POS_MOUSE);
//this causes compiz to display no border.
//tempo_dialog.signal_realize().connect (sigc::bind (sigc::ptr_fun (set_decoration), &tempo_dialog, Gdk::WMDecoration (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
@ -250,8 +249,6 @@ Editor::mouse_add_new_meter_event (framepos_t frame)
TempoMap& map(_session->tempo_map());
MeterDialog meter_dialog (map, frame, _("add"));
meter_dialog.set_position (Gtk::WIN_POS_MOUSE);
//this causes compiz to display no border..
//meter_dialog.signal_realize().connect (sigc::bind (sigc::ptr_fun (set_decoration), &meter_dialog, Gdk::WMDecoration (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
@ -307,8 +304,6 @@ Editor::edit_meter_section (MeterSection* section)
{
MeterDialog meter_dialog (*section, _("done"));
meter_dialog.set_position (Gtk::WIN_POS_MOUSE);
ensure_float (meter_dialog);
switch (meter_dialog.run()) {
@ -339,8 +334,6 @@ Editor::edit_tempo_section (TempoSection* section)
{
TempoDialog tempo_dialog (*section, _("done"));
tempo_dialog.set_position (Gtk::WIN_POS_MOUSE);
ensure_float (tempo_dialog);
switch (tempo_dialog.run ()) {

View file

@ -91,7 +91,6 @@ ExportVideoDialog::ExportVideoDialog (PublicEditor& ed, Session* s)
set_session (s);
set_name ("ExportVideoDialog");
set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);

View file

@ -33,7 +33,6 @@ ExportVideoInfobox::ExportVideoInfobox (Session* s)
set_session (s);
set_name ("ExportVideoInfobox");
set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);

View file

@ -224,8 +224,6 @@ IOSelectorWindow::IOSelectorWindow (ARDOUR::Session* session, boost::shared_ptr<
add (_selector);
set_position (Gtk::WIN_POS_MOUSE);
io_name_changed (this);
show_all ();

View file

@ -42,7 +42,6 @@ MidiPortDialog::MidiPortDialog ()
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);
set_position (Gtk::WIN_POS_MOUSE);
set_name (N_("MidiPortDialog"));
vector<string> str = internationalize (PACKAGE, mode_strings);

View file

@ -3740,8 +3740,6 @@ MidiRegionView::edit_patch_change (ArdourCanvas::CanvasPatchChange* pc)
{
PatchChangeDialog d (&_source_relative_time_converter, trackview.session(), *pc->patch (), instrument_info(), Gtk::Stock::APPLY, true);
d.set_position (Gtk::WIN_POS_MOUSE);
int response = d.run();
switch (response) {

View file

@ -517,7 +517,6 @@ MidiTimeAxisView::toggle_channel_selector ()
_channel_selector->set_default_channel_color ();
}
_channel_selector->set_position (WIN_POS_MOUSE);
_channel_selector->show_all ();
} else {
_channel_selector->cycle_visibility ();

View file

@ -1358,7 +1358,6 @@ void
MixerStrip::setup_comment_editor ()
{
comment_window = new ArdourWindow (""); // title will be reset to show route
comment_window->set_position (Gtk::WIN_POS_MOUSE);
comment_window->set_skip_taskbar_hint (true);
comment_window->signal_hide().connect (sigc::mem_fun(*this, &MixerStrip::comment_editor_done_editing));
comment_window->set_default_size (400, 200);

View file

@ -44,7 +44,6 @@ PlaylistSelector::PlaylistSelector ()
{
rui = 0;
set_position (WIN_POS_MOUSE);
set_name ("PlaylistSelectorWindow");
set_modal(true);
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);

View file

@ -66,7 +66,6 @@ PluginSelector::PluginSelector (PluginManager& mgr)
, manager (mgr)
{
set_position (Gtk::WIN_POS_MOUSE);
set_name ("PluginSelectorWindow");
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);

View file

@ -160,7 +160,6 @@ PluginUIWindow::PluginUIWindow (
set_default_size (w, h);
set_resizable (_pluginui->resizable());
set_position (Gtk::WIN_POS_MOUSE);
}
PluginUIWindow::~PluginUIWindow ()
@ -555,7 +554,6 @@ PlugUIBase::latency_button_clicked ()
if (!latency_gui) {
latency_gui = new LatencyGUI (*(insert.get()), insert->session().frame_rate(), insert->session().get_block_size());
latency_dialog = new ArdourWindow (_("Edit Latency"));
latency_dialog->set_position (WIN_POS_MOUSE);
/* use both keep-above and transient for to try cover as many
different WM's as possible.
*/

View file

@ -1183,7 +1183,6 @@ ProcessorBox::weird_plugin_dialog (Plugin& p, Route::ProcessorStreams streams)
dialog.add_button (Stock::OK, RESPONSE_ACCEPT);
dialog.set_name (X_("PluginIODialog"));
dialog.set_position (Gtk::WIN_POS_MOUSE);
dialog.set_modal (true);
dialog.show_all ();
@ -1550,7 +1549,6 @@ outputs will not work correctly."));
dialog.add_button (Stock::OK, RESPONSE_ACCEPT);
dialog.set_name (X_("PluginIODialog"));
dialog.set_position (Gtk::WIN_POS_MOUSE);
dialog.set_modal (true);
dialog.show_all ();

View file

@ -50,7 +50,6 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, bool creating_new)
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (true);
set_position (Gtk::WIN_POS_MOUSE);
set_name (N_("RouteGroupDialog"));
VBox* main_vbox = manage (new VBox);

View file

@ -82,7 +82,6 @@ StepEditor::start_step_editing ()
step_edit_region_view->show_step_edit_cursor (step_edit_beat_pos);
step_edit_region_view->set_step_edit_cursor_width (step_editor->note_length());
step_editor->set_position (WIN_POS_MOUSE);
step_editor->present ();
}

View file

@ -68,7 +68,6 @@ TimeFXDialog::TimeFXDialog (Editor& e, bool pitch)
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);
set_position (Gtk::WIN_POS_MOUSE);
set_name (N_("TimeFXDialog"));
if (pitching) {

View file

@ -77,7 +77,6 @@ TranscodeVideoDialog::TranscodeVideoDialog (Session* s, std::string infile)
aborted = false;
set_name ("TranscodeVideoDialog");
set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);

View file

@ -53,7 +53,6 @@ VideoServerDialog::VideoServerDialog (Session* s)
set_session (s);
set_name ("VideoServerDialog");
set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);