X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_filename.cpp;h=a178614bd0b29eeb2c30d615d26b140bddf008f2;hb=29dc41d9953bf08068615a30abcf687615ffdb08;hp=7c0e4c9de235d275dadd93103a300aed749be773;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_filename.cpp b/synfig-studio/trunk/src/gtkmm/widget_filename.cpp index 7c0e4c9..a178614 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_filename.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_filename.cpp @@ -2,10 +2,11 @@ /*! \file widget_filename.cpp ** \brief Template File ** -** $Id: widget_filename.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \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); }