diff -ru bombono-dvd-1.2.2/src/mbase/project/table.cpp new/src/mbase/project/table.cpp
--- bombono-dvd-1.2.2/src/mbase/project/table.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mbase/project/table.cpp 2016-01-19 13:02:00.117338769 +0330
@@ -154,7 +154,7 @@
void SerializePath(Archieve& ar, const char* tag_name, std::string& fpath)
{
//ar & NameValue("Path", mdPath);
- fs::path rel_to_dir = fs::path(AData().GetProjectFName()).branch_path();
+ fs::path rel_to_dir = fs::path(AData().GetProjectFName()).parent_path();
if( ar.IsLoad() )
{
ar >> NameValue(tag_name, fpath);
diff -ru bombono-dvd-1.2.2/src/mgui/author/script.cpp new/src/mgui/author/script.cpp
--- bombono-dvd-1.2.2/src/mgui/author/script.cpp 2016-01-19 12:54:07.640700667 +0330
+++ new/src/mgui/author/script.cpp 2016-01-19 12:59:52.407346489 +0330
@@ -676,7 +676,7 @@
if( !fs::exists(font_path) )
{
std::string err_str;
- if( !CreateDirs(font_path.branch_path(), err_str) )
+ if( !CreateDirs(font_path.parent_path(), err_str) )
Error(err_str.c_str());
fs::copy_file(DataDirPath("copy-n-paste/FreeSans.ttf"), font_path);
}
diff -ru bombono-dvd-1.2.2/src/mgui/mux.cpp new/src/mgui/mux.cpp
--- bombono-dvd-1.2.2/src/mgui/mux.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mgui/mux.cpp 2016-01-19 12:58:22.840685236 +0330
@@ -162,7 +162,7 @@
fs::path pth = GetFilename(v_btn);
if( pth.empty() )
return;
- std::string folder = pth.branch_path().string();
+ std::string folder = pth.parent_path().string();
if( a_btn.get_filename().empty() )
a_btn.set_current_folder(folder);
diff -ru bombono-dvd-1.2.2/src/mgui/project/add.cpp new/src/mgui/project/add.cpp
--- bombono-dvd-1.2.2/src/mgui/project/add.cpp 2016-01-19 12:54:07.634034002 +0330
+++ new/src/mgui/project/add.cpp 2016-01-19 13:00:49.220676388 +0330
@@ -479,7 +479,7 @@
MessageBox(BF_("The file \"%1%\" looks like VOB from DVD.\nRun import?") % leaf % bf::stop,
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_OK_CANCEL) == Gtk::RESPONSE_OK )
{
- DVD::RunImport(*GetTopWindow(brw), pth.branch_path().string());
+ DVD::RunImport(*GetTopWindow(brw), pth.parent_path().string());
return;
}
}
diff -ru bombono-dvd-1.2.2/src/mgui/project/serialize.cpp new/src/mgui/project/serialize.cpp
--- bombono-dvd-1.2.2/src/mgui/project/serialize.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mgui/project/serialize.cpp 2016-01-19 13:00:29.230677594 +0330
@@ -73,7 +73,7 @@
fs::path full_path(db.GetProjectFName());
std::string res_str = fs::name_str(full_path);
if( with_path_breakdown )
- res_str += " (" + full_path.branch_path().string() + ")";
+ res_str += " (" + full_path.parent_path().string() + ")";
return res_str;
}
diff -ru bombono-dvd-1.2.2/src/mgui/timeline/select.cpp new/src/mgui/timeline/select.cpp
--- bombono-dvd-1.2.2/src/mgui/timeline/select.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mgui/timeline/select.cpp 2016-01-19 12:59:12.187348923 +0330
@@ -152,7 +152,7 @@
mon.FramePixbuf()->save(fnam, ext);
- SaveFrameDir() = fs::path(fnam).branch_path().string();
+ SaveFrameDir() = fs::path(fnam).parent_path().string();
if( add_btn.get_active() )
Project::TryAddMediaQuiet(fnam, "SaveFrame");
}
diff -ru bombono-dvd-1.2.2/src/mbase/project/table.cpp new/src/mbase/project/table.cpp
--- bombono-dvd-1.2.2/src/mbase/project/table.cpp 2016-01-19 13:11:42.883970202 +0330
+++ new/src/mbase/project/table.cpp 2016-01-19 13:42:58.317190146 +0330
@@ -162,7 +162,7 @@
if( !fpath.empty() )
{
fs::path pth(fpath);
- if( !pth.is_complete() )
+ if( !pth.is_absolute() )
fpath = (rel_to_dir/fpath).string();
}
}
diff -ru bombono-dvd-1.2.2/src/mbase/project/tests/test_table.cpp new/src/mbase/project/tests/test_table.cpp
--- bombono-dvd-1.2.2/src/mbase/project/tests/test_table.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mbase/project/tests/test_table.cpp 2016-01-19 13:42:16.977192649 +0330
@@ -129,7 +129,7 @@
// проверка чтения/записи путей
boost::intrusive_ptr<StillImageMD> pict2 = ptr::dynamic_pointer_cast<StillImageMD>(ml[2]);
fs::path pth = pict2->GetPath();
- BOOST_CHECK( pth.is_complete() );
+ BOOST_CHECK( pth.is_absolute() );
BOOST_CHECK( fs::exists(pth) );
// проверка ссылок
diff -ru bombono-dvd-1.2.2/src/mlib/tests/test_utils.cpp new/src/mlib/tests/test_utils.cpp
--- bombono-dvd-1.2.2/src/mlib/tests/test_utils.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mlib/tests/test_utils.cpp 2016-01-19 13:23:58.830592369 +0330
@@ -139,17 +139,17 @@
#endif
}
- // is_complete
+ // is_absolute
{
fs::path pth("../some_file");
- BOOST_CHECK( !pth.is_complete() );
- BOOST_CHECK( fs::current_path().is_complete() );
+ BOOST_CHECK( !pth.is_absolute() );
+ BOOST_CHECK( fs::current_path().is_absolute() );
fs::path apth = Project::MakeAbsolutePath(pth);
//LOG_INF << "Making abs path: " << pth.string() << " => " << apth.string() << io::endl;
- BOOST_CHECK( Project::MakeAbsolutePath(pth, MakeRootComplete("/")).is_complete() );
- BOOST_CHECK( !Project::MakeAbsolutePath(pth, "./").is_complete() );
+ BOOST_CHECK( Project::MakeAbsolutePath(pth, MakeRootComplete("/")).is_absolute() );
+ BOOST_CHECK( !Project::MakeAbsolutePath(pth, "./").is_absolute() );
}
// MakeRelativeToDir
diff -ru bombono-dvd-1.2.2/src/mlib/filesystem.cpp new/src/mlib/filesystem.cpp
--- bombono-dvd-1.2.2/src/mlib/filesystem.cpp 2013-03-08 00:50:45.000000000 +0330
+++ new/src/mlib/filesystem.cpp 2016-01-19 14:02:05.303787474 +0330
@@ -161,25 +161,16 @@
fs::path MakeAbsolutePath(const fs::path& pth, const fs::path& cur_dir)
{
- fs::path res;
-
- if( pth.is_complete() )
- res = pth;
- else
- {
- fs::path dir = cur_dir.empty() ? fs::current_path() : cur_dir ;
- res = dir/pth;
- }
- return res.normalize();
+ return absolute(pth, cur_dir);
}
// оба аргумента должны быть абсолютными путями
bool MakeRelativeToDir(fs::path& pth, fs::path dir)
{
- pth.normalize();
- dir.normalize();
- ASSERT( pth.is_complete() );
- ASSERT( dir.is_complete() );
+ pth = canonical(pth);
+ dir = canonical(dir);
+ ASSERT( pth.is_absolute() );
+ ASSERT( dir.is_absolute() );
fs::path::iterator p_itr = pth.begin(), p_end = pth.end();
fs::path::iterator d_itr = dir.begin(), d_end = dir.end();
|