X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fchanneledit.C;h=9a81984e5d907a981f89d0b2058a472f9fe94963;hp=d1f5603f4e1c1d109b20903ad1baf686bd7b62d4;hb=b9f98da8f1cd8b7b31ead02fa41f299b56cac3da;hpb=b353ad3a849cea55d23b01ae3cdc275b1e631b05 diff --git a/cinelerra-5.1/cinelerra/channeledit.C b/cinelerra-5.1/cinelerra/channeledit.C index d1f5603f..9a81984e 100644 --- a/cinelerra-5.1/cinelerra/channeledit.C +++ b/cinelerra-5.1/cinelerra/channeledit.C @@ -39,6 +39,8 @@ #include #include +#define MSG_NO_PIC_CONTROLS _("Device has no picture controls.") +//#define MSG_NO_INP_SELECTION _("Device has no input selection.") ChannelEditThread::ChannelEditThread(ChannelPicker *channel_picker, ChannelDB *channeldb) @@ -160,10 +162,10 @@ char* ChannelEditThread::value_to_input(int value) ChannelEditWindow::ChannelEditWindow(ChannelEditThread *thread, ChannelPicker *channel_picker) - : BC_Window(PROGRAM_NAME ": Channels", + : BC_Window(_(PROGRAM_NAME ": Channels"), channel_picker->mwindow->session->channels_x, channel_picker->mwindow->session->channels_y, - 350, 400, 350, 400, 0, 0, 1) + 375, 400, 375, 400, 0, 0, 1) { this->thread = thread; this->channel_picker = channel_picker; @@ -184,6 +186,7 @@ ChannelEditWindow::~ChannelEditWindow() void ChannelEditWindow::create_objects() { + lock_window("ChannelEditWindow::create_objects"); int x = 10, y = 10; // Create channel list @@ -229,6 +232,7 @@ void ChannelEditWindow::create_objects() edit_thread = new ChannelEditEditThread(this, channel_picker); picture_thread = new ChannelEditPictureThread(channel_picker); show_window(); + unlock_window(); } int ChannelEditWindow::close_event() @@ -625,36 +629,19 @@ int ChannelEditPicture::handle_event() } - - - - - - - - - - -// ========================= confirm overwrite by channel scannin - +// ========================= confirm overwrite by channel scanning ConfirmScan::ConfirmScan(ChannelEditWindow *gui, int x, int y) - : BC_Window(PROGRAM_NAME ": Scan confirm", - x, - y, - 350, - BC_OKButton::calculate_h() + 130, - 0, - 0, - 0, - 0, - 1) + : BC_Window(_(PROGRAM_NAME ": Scan confirm"), + x, y, 350, BC_OKButton::calculate_h() + 130, + 0, 0, 0, 0, 1) { this->gui = gui; } void ConfirmScan::create_objects() { + lock_window("ConfirmScan::create_objects"); int x = 10, y = 10; int y2 = 0, x2 = 0; BC_Title *title; @@ -702,14 +689,9 @@ void ConfirmScan::create_objects() add_subwindow(new BC_OKButton(this)); add_subwindow(new BC_CancelButton(this)); show_window(); + unlock_window(); } - - - - - - ConfirmScanThread::ConfirmScanThread(ChannelEditWindow *gui) : BC_DialogThread() { @@ -779,7 +761,7 @@ void ScanThread::start() progress = new BC_ProgressBox( edit->channel_picker->parent_window->get_abs_cursor_x(1), edit->channel_picker->parent_window->get_abs_cursor_y(1), - "Scanning", + _("Scanning"), chanlists[edit->scan_params.freqtable].count); progress->start(); @@ -794,7 +776,7 @@ void ScanThread::run() char string[BCTEXTLEN]; sprintf(edit->scan_params.title, "%s", chanlists[edit->scan_params.freqtable].list[i].name); - sprintf(string, "Scanning %s", edit->scan_params.title); + sprintf(string, _("Scanning %s"), edit->scan_params.title); progress->update_title(string, 1); progress->update(i, 1); edit->channel_picker->set_channel(&edit->scan_params); @@ -826,6 +808,7 @@ void ScanThread::run() edit->window->update_list(); edit->window->unlock_window(); } + edit->window->set_done(interrupt || progress->is_cancelled() ? 1 : 0); } @@ -990,16 +973,10 @@ void ChannelEditEditThread::run() ChannelEditEditWindow::ChannelEditEditWindow(ChannelEditEditThread *thread, ChannelEditWindow *window, ChannelPicker *channel_picker) - : BC_Window(PROGRAM_NAME ": Edit Channel", + : BC_Window(_(PROGRAM_NAME ": Edit Channel"), channel_picker->parent_window->get_abs_cursor_x(1), channel_picker->parent_window->get_abs_cursor_y(1), - 390, - 300, - 390, - 300, - 0, - 0, - 1) + 390, 300, 390, 300, 0, 0, 1) { this->channel_picker = channel_picker; this->window = window; @@ -1008,8 +985,10 @@ ChannelEditEditWindow::ChannelEditEditWindow(ChannelEditEditThread *thread, ChannelEditEditWindow::~ChannelEditEditWindow() { } + void ChannelEditEditWindow::create_objects(Channel *channel) { + lock_window("ChannelEditEditWindow::create_objects"); this->new_channel = channel; Channel *channel_usage = channel_picker->get_channel_usage(); title_text = 0; @@ -1021,7 +1000,7 @@ void ChannelEditEditWindow::create_objects(Channel *channel) // !channel_usage->use_norm && // !channel_usage->use_input)) // { -// add_subwindow(new BC_Title(x, y, "Device has no input selection.")); +// add_subwindow(new BC_Title(x, y, MSG_NO_INP_SELECTION)); // y += 30; // } // else @@ -1085,6 +1064,7 @@ void ChannelEditEditWindow::create_objects(Channel *channel) x += 200; add_subwindow(new BC_CancelButton(this)); show_window(); + unlock_window(); } ChannelEditEditTitle::ChannelEditEditTitle(int x, @@ -1386,13 +1366,11 @@ void ChannelEditPictureThread::edit_picture() ChannelEditPictureWindow::ChannelEditPictureWindow(ChannelEditPictureThread *thread, ChannelPicker *channel_picker) - : BC_Window(PROGRAM_NAME ": Picture", + : BC_Window(_(PROGRAM_NAME ": Picture"), channel_picker->mwindow->session->picture_x, channel_picker->mwindow->session->picture_y, - calculate_w(channel_picker), - calculate_h(channel_picker), - calculate_w(channel_picker), - calculate_h(channel_picker)) + calculate_w(channel_picker), calculate_h(channel_picker), + calculate_w(channel_picker), calculate_h(channel_picker)) { this->thread = thread; this->channel_picker = channel_picker; @@ -1405,12 +1383,21 @@ int ChannelEditPictureWindow::calculate_h(ChannelPicker *channel_picker) { PictureConfig *picture_usage = channel_picker->get_picture_usage(); int pad = BC_Pot::calculate_h(); - int result = 20 + - channel_picker->parent_window->get_text_height(MEDIUMFONT) + 5 + - BC_OKButton::calculate_h(); + int text_h = channel_picker->parent_window->get_text_height(MEDIUMFONT); + int result = 20 + text_h + 5 + BC_OKButton::calculate_h(); // Only used for Video4Linux 1 - if(picture_usage) + if( !picture_usage || ( + !picture_usage->use_brightness && + !picture_usage->use_contrast && + !picture_usage->use_color && + !picture_usage->use_hue && + !picture_usage->use_whiteness && + !channel_picker->get_controls() ) ) { + result += BC_Title::calculate_h(channel_picker->parent_window, + MSG_NO_PIC_CONTROLS); + } + else { if(picture_usage->use_brightness) result += pad; @@ -1445,8 +1432,7 @@ int ChannelEditPictureWindow::calculate_w(ChannelPicker *channel_picker) !channel_picker->get_controls())) { result = BC_Title::calculate_w(channel_picker->parent_window, - "Device has no picture controls." + - 2 * widget_border); + MSG_NO_PIC_CONTROLS) + 20; } // Only used for Video4Linux 1 @@ -1454,27 +1440,27 @@ int ChannelEditPictureWindow::calculate_w(ChannelPicker *channel_picker) { if(picture_usage->use_brightness) { - int new_w = BC_Title::calculate_w(channel_picker->parent_window, "Brightness:") + pad; + int new_w = BC_Title::calculate_w(channel_picker->parent_window, _("Brightness:")) + pad; result = MAX(result, new_w); } if(picture_usage->use_contrast) { - int new_w = BC_Title::calculate_w(channel_picker->parent_window, "Contrast:") + pad; + int new_w = BC_Title::calculate_w(channel_picker->parent_window, _("Contrast:")) + pad; result = MAX(result, new_w); } if(picture_usage->use_color) { - int new_w = BC_Title::calculate_w(channel_picker->parent_window, "Color:") + pad; + int new_w = BC_Title::calculate_w(channel_picker->parent_window, _("Color:")) + pad; result = MAX(result, new_w); } if(picture_usage->use_hue) { - int new_w = BC_Title::calculate_w(channel_picker->parent_window, "Hue:") + pad; + int new_w = BC_Title::calculate_w(channel_picker->parent_window, _("Hue:")) + pad; result = MAX(result, new_w); } if(picture_usage->use_whiteness) { - int new_w = BC_Title::calculate_w(channel_picker->parent_window, "Whiteness:") + pad; + int new_w = BC_Title::calculate_w(channel_picker->parent_window, _("Whiteness:")) + pad; result = MAX(result, new_w); } } @@ -1493,6 +1479,7 @@ int ChannelEditPictureWindow::calculate_w(ChannelPicker *channel_picker) void ChannelEditPictureWindow::create_objects() { + lock_window("ChannelEditPictureWindow::create_objects"); int x = 10, y = 10; int widget_border = ((Theme*)channel_picker->get_theme())->widget_border; int x1 = get_w() - BC_Pot::calculate_w() * 2 - widget_border * 2; @@ -1512,7 +1499,7 @@ void ChannelEditPictureWindow::create_objects() !picture_usage->use_whiteness && !channel_picker->get_controls())) { - add_subwindow(new BC_Title(x, y, "Device has no picture controls.")); + add_subwindow(new BC_Title(x, y, MSG_NO_PIC_CONTROLS)); y += 50; } @@ -1581,6 +1568,7 @@ void ChannelEditPictureWindow::create_objects() y += pad; add_subwindow(new BC_OKButton(this)); show_window(); + unlock_window(); } int ChannelEditPictureWindow::translation_event()