X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcfilebox.C;h=207084d7415f054650989df444b4ba79905df8fe;hb=e5d1c3ec8b49e9e4cd31f30e991f52ab11de93b1;hp=7d52d98c9e56250266cae06a4104132f17b3597e;hpb=27d1d08d9125dc46f252073aaf1fead7518ee4c8;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bcfilebox.C b/cinelerra-5.1/guicast/bcfilebox.C index 7d52d98c..207084d7 100644 --- a/cinelerra-5.1/guicast/bcfilebox.C +++ b/cinelerra-5.1/guicast/bcfilebox.C @@ -625,11 +625,9 @@ void BC_FileBox::create_objects() add_subwindow(recent_popup = new BC_FileBoxRecent(this, x, y)); add_subwindow(directory_title = new BC_FileBoxDirectoryText(x, y, this)); - directory_title->reposition_window(x, y, - get_w() - recent_popup->get_w() - 20, 1); - recent_popup->reposition_window( - x + directory_title->get_w(), y, - directory_title->get_w(), 200); + directory_title->reposition_window(x, y, get_w() - recent_popup->get_w() - 20, 1); + x += directory_title->get_w() + 8; + recent_popup->reposition_window(x, y, directory_title->get_w(), 200); x = 10; y += directory_title->get_h() + 5; @@ -738,7 +736,7 @@ int BC_FileBox::resize_event(int w, int h) get_w() - recent_popup->get_w() - 20, 1); recent_popup->reposition_window( - directory_title->get_x() + directory_title->get_w(), + directory_title->get_x() + directory_title->get_w() + 8, directory_title->get_y(), directory_title->get_w() + recent_popup->get_w(), recent_popup->get_h()); @@ -1040,12 +1038,17 @@ int BC_FileBox::submit_dir(char *dir) int BC_FileBox::submit_file(const char *path, int use_this) { + char path1[BCTEXTLEN]; + strcpy(path1, path); + char *cp = strchr(path1,'\n'); + if( cp ) *cp = 0; + // Deactivate textbox to hide suggestions textbox->deactivate(); // If file wanted, take the current directory as the desired file. // If directory wanted, ignore it. - if(!path[0] && !want_directory) + if(!path1[0] && !want_directory) { // save complete path strcpy(this->current_path, directory); @@ -1059,9 +1062,9 @@ int BC_FileBox::submit_file(const char *path, int use_this) } // is a directory, change directories - if(fs->is_dir(path) && !use_this) + if(fs->is_dir(path1) && !use_this) { - fs->change_dir(path, 0); + fs->change_dir(path1, 0); refresh(1); directory_title->update(fs->get_current_dir()); strcpy(this->current_path, fs->get_current_dir()); @@ -1080,7 +1083,7 @@ int BC_FileBox::submit_file(const char *path, int use_this) // Is a file or desired directory. Quit the operation. { char path2[BCTEXTLEN]; - strcpy(path2, path); + strcpy(path2, path1); // save directory for defaults fs->extract_dir(directory, path2); @@ -1116,7 +1119,7 @@ void BC_FileBox::update_history() strcpy(path, directory); // enfore one trailing slash char *cp = path; - while( *cp ) ++cp; + while( *cp && *cp != '\n' ) ++cp; while( cp > path && *(cp-1) == '/' ) --cp; *cp++ = '/'; *cp = 0;