From 1d52ff388f703f4ea2b436be0f8f5b650c9de1e3 Mon Sep 17 00:00:00 2001 From: zvon Date: Fri, 31 Jan 2020 22:51:43 +0100 Subject: [PATCH] Use tuple instead of pair of pairs --- mainwindow.cpp | 22 ++++++++++------------ tv_rename.cpp | 35 ++++++++++++++--------------------- tv_rename.hpp | 4 ++-- 3 files changed, 26 insertions(+), 35 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 3bcca0e..1ccb7ea 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -148,15 +148,13 @@ void MainWindow::getNames() { * orig - original filenames * renamed - renamed filenames (sorted in the same order as `orig`) */ -void renameFiles( - const std::vector< std::pair< std::pair< int, std::string >, - std::pair< std::string, std::string > > > - &renamed ) { - for ( auto renamed_it = renamed.begin(); renamed_it != renamed.end(); - ++renamed_it ) { +void renameFiles( const std::vector< + std::tuple< int, std::string, std::string, std::string > > + &renamed_files ) { + for ( const auto &renamed : renamed_files ) { FSLib::rename( - renamed_it->first.second + "/" + renamed_it->second.first, - renamed_it->first.second + "/" + renamed_it->second.second ); + std::get< 1 >( renamed ) + "/" + std::get< 2 >( renamed ), + std::get< 1 >( renamed ) + "/" + std::get< 3 >( renamed ) ); } } @@ -222,15 +220,15 @@ void MainWindow::finishedSelection() { auto buff = tx->get_buffer(); buff->place_cursor( buff->begin() ); - buff->insert_at_cursor( renamed_files[0].second.first.c_str() ); + buff->insert_at_cursor( std::get< 2 >( renamed_files[0] ).c_str() ); buff->insert_at_cursor( " --> " ); - buff->insert_at_cursor( renamed_files[0].second.second.c_str() ); + buff->insert_at_cursor( std::get< 3 >( renamed_files[0] ).c_str() ); for ( size_t i = 1; i < renamed_files.size(); i++ ) { buff->insert_at_cursor( "\n" ); - buff->insert_at_cursor( renamed_files[i].second.first.c_str() ); + buff->insert_at_cursor( std::get< 2 >( renamed_files[i] ).c_str() ); buff->insert_at_cursor( " --> " ); - buff->insert_at_cursor( renamed_files[i].second.second.c_str() ); + buff->insert_at_cursor( std::get< 3 >( renamed_files[i] ).c_str() ); } auto response = dialog->run(); diff --git a/tv_rename.cpp b/tv_rename.cpp index 7fbbbc3..4ca59df 100644 --- a/tv_rename.cpp +++ b/tv_rename.cpp @@ -177,8 +177,7 @@ std::vector< string > getEpisodeNames( const string &id, const string &season, return episodes; } -std::vector< - std::pair< std::pair< int, string >, std::pair< string, string > > > +std::vector< std::tuple< int, string, string, string > > getRenamedFiles( const string &show, int season, const string id, const string &language, const string &pattern, const bool &linux, const std::map< int, string > &files, @@ -193,9 +192,7 @@ getRenamedFiles( const string &show, int season, const string id, return {}; // vector of pairs , - std::vector< - std::pair< std::pair< int, string >, std::pair< string, string > > > - renamed_files; + std::vector< std::tuple< int, string, string, string > > renamed_files; for ( const auto &x : files ) { auto last = x.second.find_last_of( _tv_rename_dir_divider ); @@ -257,9 +254,7 @@ getRenamedFiles( const string &show, int season, const string id, } } } - renamed_files.emplace_back( - std::pair< int, string >( x.first, dir ), - std::pair< string, string >( og_name, name ) ); + renamed_files.emplace_back( x.first, dir, og_name, name ); } } return renamed_files; @@ -335,10 +330,9 @@ void singleSeason( const string &path, const string &show, int season, goto end; if ( print || !trust ) { - for ( auto renamed = renamed_files.begin(); - renamed != renamed_files.end(); ++renamed ) { - cout << renamed->second.first << " --> " << renamed->second.second - << std::endl; + for ( const auto renamed : renamed_files ) { + cout << std::get< 2 >( renamed ) << " --> " + << std::get< 3 >( renamed ) << std::endl; } if ( !trust ) { @@ -352,16 +346,15 @@ void singleSeason( const string &path, const string &show, int season, } } - for ( auto renamed = renamed_files.begin(); renamed != renamed_files.end(); - ++renamed ) { - FSLib::rename( renamed->first.second + _tv_rename_dir_divider + - renamed->second.first, - renamed->first.second + _tv_rename_dir_divider + - renamed->second.second ); + for ( const auto renamed : renamed_files ) { + FSLib::rename( std::get< 1 >( renamed ) + _tv_rename_dir_divider + + std::get< 2 >( renamed ), + std::get< 1 >( renamed ) + _tv_rename_dir_divider + + std::get< 3 >( renamed ) ); if ( found_files == nullptr ) { - files_ptr[0][renamed->first.first] = renamed->first.second + - _tv_rename_dir_divider + - renamed->second.second; + files_ptr[0][std::get< 0 >( renamed )] = std::get< 1 >( renamed ) + + _tv_rename_dir_divider + + std::get< 3 >( renamed ); } } diff --git a/tv_rename.hpp b/tv_rename.hpp index d244b3e..01e791f 100644 --- a/tv_rename.hpp +++ b/tv_rename.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include "network.hpp" @@ -39,8 +40,7 @@ void singleSeason( const string &path, const string &show, int season, #ifdef GUI -std::vector< - std::pair< std::pair< int, string >, std::pair< string, string > > > +std::vector< std::tuple< int, string, string, string > > getRenamedFiles( const string &show, int season, const string id, const string &language, const string &pattern, const bool &linux, const std::map< int, string > &files,