X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fwidget_filename.cpp;h=a178614bd0b29eeb2c30d615d26b140bddf008f2;hb=47fce282611fbba1044921d22ca887f9b53ad91a;hp=6eeeb623c8b44e4141c7d7a7e3c7d8c7ba1b8037;hpb=9b5810cef039c7f25e924ce2cf2fc80e76e59972;p=synfig.git diff --git a/synfig-studio/tags/stable/src/gtkmm/widget_filename.cpp b/synfig-studio/tags/stable/src/gtkmm/widget_filename.cpp index 6eeeb62..a178614 100644 --- a/synfig-studio/tags/stable/src/gtkmm/widget_filename.cpp +++ b/synfig-studio/tags/stable/src/gtkmm/widget_filename.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -33,6 +34,9 @@ #include #include "widget_filename.h" #include "app.h" +#include "canvasview.h" + +#include "general.h" #endif @@ -45,10 +49,6 @@ using namespace studio; /* === M A C R O S ========================================================= */ -#if ! defined(_) -#define _(x) (x) -#endif - /* === G L O B A L S ======================================================= */ /* === P R O C E D U R E S ================================================= */ @@ -82,7 +82,7 @@ Widget_Filename::set_has_frame(bool x) void -Widget_Filename::set_value(const string &data) +Widget_Filename::set_value(const std::string &data) { entry_filename->set_text(data); } @@ -112,6 +112,11 @@ Widget_Filename::on_button_choose_pressed() string filename=entry_filename->get_text(); if(filename.empty()) filename="."; - if(App::dialog_open_file(_("Choose File"),filename)) + else + filename = etl::absolute_path( + etl::dirname(App::get_selected_canvas_view()->get_canvas()->get_file_name()) + + ETL_DIRECTORY_SEPARATOR + + filename); + if(App::dialog_open_file(_("Choose File"), filename, MISC_DIR_PREFERENCE)) entry_filename->set_text(filename); }