Commit a94647f0 authored by Clément Stenac's avatar Clément Stenac

Misc cleanups in Qt4. (Closes:#736)

Fix m3u export
parent ff5e7fa7
...@@ -11,9 +11,11 @@ Important notes: ...@@ -11,9 +11,11 @@ Important notes:
XXX: DETAILED INSTRUCTIONS HERE :XXX XXX: DETAILED INSTRUCTIONS HERE :XXX
* This version of VLC contains a new interface for Windows and Linux. This * This version of VLC contains a new interface for Windows and Linux. This
interface lacks a few features that used to be present in vlc 0.8.6: interface lacks a few features that used to be present in vlc 0.8.6:
"Streaming wizard" and "VLM control". These features will be replaced - "Streaming wizard" and "VLM control". These features will be replaced
by a better alternative in the next version. If you absolutely need these by a better alternative in the next version. If you absolutely need these
features, we advise you to keep vlc 0.8.6 features, we advise you to keep vlc 0.8.6
- Similarly, "Bookmarks" will be reintroduced in an improved version at a
later point
Changes: Changes:
-------- --------
......
...@@ -30,10 +30,20 @@ ...@@ -30,10 +30,20 @@
/*************** Open dialogs **************/ /*************** Open dialogs **************/
#define I_POP_SEL_FILES N_("Select one or more files to open") #define I_OP_OPF N_("Quick &Open File...")
#define I_OP_ADVOP N_("&Advanced Open...")
#define I_OP_OPDIR N_("Open &Directory...")
#define I_OP_SEL_FILES N_("Select one or more files to open")
/******************* Menus *****************/ /******************* Menus *****************/
#define I_MENU_INFO N_("Information...")
#define I_MENU_MSG N_("Messages...")
#define I_MENU_EXT N_("Extended settings...")
#define I_MENU_ABOUT N_("About VLC media player...")
/* Playlist popup */ /* Playlist popup */
#define I_POP_PLAY N_("Play") #define I_POP_PLAY N_("Play")
#define I_POP_PREPARSE N_("Fetch information") #define I_POP_PREPARSE N_("Fetch information")
...@@ -44,6 +54,30 @@ ...@@ -44,6 +54,30 @@
#define I_POP_STREAM N_("Stream...") #define I_POP_STREAM N_("Stream...")
#define I_POP_SAVE N_("Save...") #define I_POP_SAVE N_("Save...")
/*************** Playlist *************/
#define I_PL_LOOP N_("Repeat all")
#define I_PL_REPEAT N_("Repeat one")
#define I_PL_NOREPEAT N_("No repeat")
#define I_PL_RANDOM N_("Random")
#define I_PL_NORANDOM N_("No random")
#define I_PL_ADDPL N_("Add to playlist")
#define I_PL_ADDML N_("Add to media library")
#define I_PL_ADDF N_("Add file...")
#define I_PL_ADVADD N_("Advanced open...")
#define I_PL_ADDDIR N_("Add directory...")
#define I_PL_SAVE N_("Save playlist to file...")
#define I_PL_LOAD N_("Load playlist file...")
#define I_PL_SEARCH N_("Search")
#define I_PL_FILTER N_("Search filter")
#define I_PL_SD N_("Additional sources")
/*************** Preferences *************/ /*************** Preferences *************/
#define I_HIDDEN_ADV N_( "Some options are available but hidden. "\ #define I_HIDDEN_ADV N_( "Some options are available but hidden. "\
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include "components/playlist/panels.hpp" #include "components/playlist/panels.hpp"
#include "util/customwidgets.hpp" #include "util/customwidgets.hpp"
#include <vlc_intf_strings.h>
#include <QTreeView> #include <QTreeView>
#include <QPushButton> #include <QPushButton>
#include <QHBoxLayout> #include <QHBoxLayout>
...@@ -53,7 +55,7 @@ StandardPLPanel::StandardPLPanel( BasePlaylistWidget *_parent, ...@@ -53,7 +55,7 @@ StandardPLPanel::StandardPLPanel( BasePlaylistWidget *_parent,
view->setIconSize( QSize(20,20) ); view->setIconSize( QSize(20,20) );
view->setAlternatingRowColors( true ); view->setAlternatingRowColors( true );
view->header()->resizeSection( 0, 230 ); view->header()->resizeSection( 0, 230 );
view->header()->resizeSection( 2, 60 ); view->header()->resizeSection( 1, 170 );
view->header()->setSortIndicatorShown( true ); view->header()->setSortIndicatorShown( true );
view->header()->setClickable( true ); view->header()->setClickable( true );
...@@ -95,9 +97,9 @@ StandardPLPanel::StandardPLPanel( BasePlaylistWidget *_parent, ...@@ -95,9 +97,9 @@ StandardPLPanel::StandardPLPanel( BasePlaylistWidget *_parent,
QSpacerItem *spacer = new QSpacerItem( 10, 20 );buttons->addItem( spacer ); QSpacerItem *spacer = new QSpacerItem( 10, 20 );buttons->addItem( spacer );
QLabel *filter = new QLabel( qfu( "&Search:" ) + " " ); QLabel *filter = new QLabel( qtr(I_PL_SEARCH) + " " );
buttons->addWidget( filter ); buttons->addWidget( filter );
searchLine = new ClickLineEdit( qfu( "Playlist filter" ), 0 ); searchLine = new ClickLineEdit( qtr(I_PL_FILTER), 0 );
CONNECT( searchLine, textChanged(QString), this, search(QString)); CONNECT( searchLine, textChanged(QString), this, search(QString));
buttons->addWidget( searchLine ); filter->setBuddy( searchLine ); buttons->addWidget( searchLine ); filter->setBuddy( searchLine );
...@@ -117,17 +119,17 @@ void StandardPLPanel::toggleRepeat() ...@@ -117,17 +119,17 @@ void StandardPLPanel::toggleRepeat()
if( model->hasRepeat() ) if( model->hasRepeat() )
{ {
model->setRepeat( false ); model->setLoop( true ); model->setRepeat( false ); model->setLoop( true );
repeatButton->setText( qtr( "Repeat All" ) ); repeatButton->setText( qtr(I_PL_LOOP) );
} }
else if( model->hasLoop() ) else if( model->hasLoop() )
{ {
model->setRepeat( false ) ; model->setLoop( false ); model->setRepeat( false ) ; model->setLoop( false );
repeatButton->setText( qtr( "No Repeat" ) ); repeatButton->setText( qtr(I_PL_NOREPEAT) );
} }
else else
{ {
model->setRepeat( true ); model->setRepeat( true );
repeatButton->setText( qtr( "Repeat One" ) ); repeatButton->setText( qtr(I_PL_REPEAT) );
} }
} }
...@@ -135,7 +137,7 @@ void StandardPLPanel::toggleRandom() ...@@ -135,7 +137,7 @@ void StandardPLPanel::toggleRandom()
{ {
bool prev = model->hasRandom(); bool prev = model->hasRandom();
model->setRandom( !prev ); model->setRandom( !prev );
randomButton->setText( prev ? qtr( "No Random" ) : qtr( "Random" ) ); randomButton->setText( prev ? qtr(I_PL_NORANDOM) : qtr(I_PL_RANDOM) );
} }
void StandardPLPanel::handleExpansion( const QModelIndex &index ) void StandardPLPanel::handleExpansion( const QModelIndex &index )
...@@ -159,13 +161,13 @@ void StandardPLPanel::setCurrentRootId( int _new ) ...@@ -159,13 +161,13 @@ void StandardPLPanel::setCurrentRootId( int _new )
currentRootId == THEPL->p_local_onelevel->i_id ) currentRootId == THEPL->p_local_onelevel->i_id )
{ {
addButton->setEnabled( true ); addButton->setEnabled( true );
addButton->setToolTip( qtr("Add to playlist" ) ); addButton->setToolTip( qtr(I_PL_ADDPL) );
} }
else if( currentRootId == THEPL->p_ml_category->i_id || else if( currentRootId == THEPL->p_ml_category->i_id ||
currentRootId == THEPL->p_ml_onelevel->i_id ) currentRootId == THEPL->p_ml_onelevel->i_id )
{ {
addButton->setEnabled( true ); addButton->setEnabled( true );
addButton->setToolTip( qtr("Add to media library" ) ); addButton->setToolTip( qtr(I_PL_ADDML) );
} }
else else
addButton->setEnabled( false ); addButton->setEnabled( false );
...@@ -177,15 +179,16 @@ void StandardPLPanel::add() ...@@ -177,15 +179,16 @@ void StandardPLPanel::add()
if( currentRootId == THEPL->p_local_category->i_id || if( currentRootId == THEPL->p_local_category->i_id ||
currentRootId == THEPL->p_local_onelevel->i_id ) currentRootId == THEPL->p_local_onelevel->i_id )
{ {
popup->addAction( qtr("Add file"), THEDP, SLOT( simplePLAppendDialog() ) ); popup->addAction( qtr(I_PL_ADDF), THEDP, SLOT(simplePLAppendDialog()));
popup->addAction( qtr("Advanced add"), THEDP, SLOT( PLAppendDialog() ) ); popup->addAction( qtr(I_PL_ADVADD), THEDP, SLOT(PLAppendDialog()) );
popup->addAction( qtr(I_PL_ADDDIR), THEDP, SLOT( PLAppendDir()) );
} }
else if( currentRootId == THEPL->p_ml_category->i_id || else if( currentRootId == THEPL->p_ml_category->i_id ||
currentRootId == THEPL->p_ml_onelevel->i_id ) currentRootId == THEPL->p_ml_onelevel->i_id )
{ {
popup->addAction( qtr("Add file"), THEDP, SLOT( simpleMLAppendDialog() ) ); popup->addAction( qtr(I_PL_ADDF), THEDP, SLOT(simpleMLAppendDialog()));
popup->addAction( qtr("Advanced add"), THEDP, SLOT( MLAppendDialog() ) ); popup->addAction( qtr(I_PL_ADVADD), THEDP, SLOT( MLAppendDialog() ) );
popup->addAction( qtr("Directory"), THEDP, SLOT( openMLDirectory() ) ); popup->addAction( qtr(I_PL_ADDDIR), THEDP, SLOT( MLAppendDir() ) );
} }
popup->popup( QCursor::pos() ); popup->popup( QCursor::pos() );
} }
......
...@@ -156,7 +156,7 @@ bool MessagesDialog::save() ...@@ -156,7 +156,7 @@ bool MessagesDialog::save()
p_intf->p_libvlc->psz_homedir, p_intf->p_libvlc->psz_homedir,
"Texts / Logs (*.log *.txt);; All (*.*) "); "Texts / Logs (*.log *.txt);; All (*.*) ");
if( saveLogFileName != NULL ) if( !saveLogFileName.isNull() )
{ {
QFile file(saveLogFileName); QFile file(saveLogFileName);
if (!file.open(QFile::WriteOnly | QFile::Text)) { if (!file.open(QFile::WriteOnly | QFile::Text)) {
......
This diff is collapsed.
...@@ -70,11 +70,12 @@ private: ...@@ -70,11 +70,12 @@ private:
intf_thread_t *p_intf; intf_thread_t *p_intf;
static DialogsProvider *instance; static DialogsProvider *instance;
QStringList showSimpleOpen(); QStringList showSimpleOpen();
void addFromSimple( bool, bool );
public slots: public slots:
void playlistDialog(); void playlistDialog();
void bookmarksDialog(); void bookmarksDialog();
void MediaInfoDialog(); void mediaInfoDialog();
void prefsDialog(); void prefsDialog();
void extendedDialog(); void extendedDialog();
void messagesDialog(); void messagesDialog();
...@@ -92,8 +93,9 @@ public slots: ...@@ -92,8 +93,9 @@ public slots:
void SDMenuAction( QString ); void SDMenuAction( QString );
void streamingDialog(); void streamingDialog();
void openPlaylist(); void openPlaylist();
void openDirectory(); void savePlaylist();
void openMLDirectory(); void PLAppendDir();
void MLAppendDir();
void quit(); void quit();
void switchToSkins(); void switchToSkins();
void helpDialog(); void helpDialog();
......
...@@ -27,8 +27,9 @@ ...@@ -27,8 +27,9 @@
#include <QActionGroup> #include <QActionGroup>
#include <QSignalMapper> #include <QSignalMapper>
#include "main_interface.hpp" #include <vlc_intf_strings.h>
#include "main_interface.hpp"
#include "menus.hpp" #include "menus.hpp"
#include "dialogs_provider.hpp" #include "dialogs_provider.hpp"
#include "input_manager.hpp" #include "input_manager.hpp"
...@@ -155,8 +156,8 @@ QMenu *QVLCMenu::PlaylistMenu( MainInterface *mi, intf_thread_t *p_intf ) ...@@ -155,8 +156,8 @@ QMenu *QVLCMenu::PlaylistMenu( MainInterface *mi, intf_thread_t *p_intf )
menu->addMenu( SDMenu( p_intf ) ); menu->addMenu( SDMenu( p_intf ) );
menu->addSeparator(); menu->addSeparator();
DP_SADD( qtr( "Open playlist file"), "", "", openPlaylist() ); DP_SADD( qtr(I_PL_LOAD), "", "", openPlaylist() );
// DP_SADD( qtr( "Save playlist to file" ), "", "", savePlaylist() ); DP_SADD( qtr(I_PL_SAVE), "", "", savePlaylist() );
menu->addSeparator(); menu->addSeparator();
menu->addAction( qtr("Undock from interface"), mi, menu->addAction( qtr("Undock from interface"), mi,
SLOT( undockPlaylist() ) ); SLOT( undockPlaylist() ) );
...@@ -175,10 +176,9 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, MainInterface *mi, ...@@ -175,10 +176,9 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, MainInterface *mi,
menu->addMenu( intfmenu ); menu->addMenu( intfmenu );
menu->addSeparator(); menu->addSeparator();
} }
DP_SADD( qtr("Messages" ), "", "", messagesDialog() ); DP_SADD( qtr(I_MENU_MSG), "", "", messagesDialog() );
DP_SADD( qtr("Information") , "", "", MediaInfoDialog() ); DP_SADD( qtr(I_MENU_INFO) , "", "", mediaInfoDialog() );
DP_SADD( qtr("Bookmarks"), "", "", bookmarksDialog() ); DP_SADD( qtr(I_MENU_EXT), "","",extendedDialog() );
DP_SADD( qtr("Extended settings"), "","",extendedDialog() );
if( mi ) if( mi )
{ {
menu->addSeparator(); menu->addSeparator();
...@@ -290,7 +290,7 @@ QMenu *QVLCMenu::NavigMenu( intf_thread_t *p_intf, QMenu *current ) ...@@ -290,7 +290,7 @@ QMenu *QVLCMenu::NavigMenu( intf_thread_t *p_intf, QMenu *current )
QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf ) QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
{ {
QMenu *menu = new QMenu(); QMenu *menu = new QMenu();
menu->setTitle( qtr( "Additional sources" ) ); menu->setTitle( qtr(I_PL_SD) );
vlc_list_t *p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, vlc_list_t *p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE,
FIND_ANYWHERE ); FIND_ANYWHERE );
int i_num = 0; int i_num = 0;
...@@ -331,7 +331,7 @@ QMenu *QVLCMenu::HelpMenu() ...@@ -331,7 +331,7 @@ QMenu *QVLCMenu::HelpMenu()
QMenu *menu = new QMenu(); QMenu *menu = new QMenu();
DP_SADD( qtr("Help") , "", "", helpDialog() ); DP_SADD( qtr("Help") , "", "", helpDialog() );
menu->addSeparator(); menu->addSeparator();
DP_SADD( qtr("About VLC media player..."), "", "", aboutDialog() ); DP_SADD( qtr(I_MENU_ABOUT), "", "", aboutDialog() );
return menu; return menu;
} }
......
...@@ -42,24 +42,26 @@ int Export_M3U ( vlc_object_t * ); ...@@ -42,24 +42,26 @@ int Export_M3U ( vlc_object_t * );
/***************************************************************************** /*****************************************************************************
* Export_M3U: main export function * Export_M3U: main export function
*****************************************************************************/ *****************************************************************************/
int Export_M3U( vlc_object_t *p_this ) static void DoChildren( playlist_t *p_playlist, playlist_export_t *p_export,
playlist_item_t *p_root )
{ {
playlist_t *p_playlist = (playlist_t*)p_this;
playlist_export_t *p_export = (playlist_export_t *)p_playlist->p_private;
int i, j; int i, j;
msg_Dbg(p_playlist, "saving using M3U format");
/* Write header */
fprintf( p_export->p_file, "#EXTM3U\n" );
/* Go through the playlist and add items */ /* Go through the playlist and add items */
for( i = 0; i< p_export->p_root->i_children ; i++) for( i = 0; i< p_root->i_children ; i++)
{ {
playlist_item_t *p_current = p_export->p_root->pp_children[i]; playlist_item_t *p_current = p_root->pp_children[i];
if( p_current->i_flags & PLAYLIST_SAVE_FLAG ) if( p_current->i_flags & PLAYLIST_SAVE_FLAG )
continue; continue;
if( p_current->i_children >= 0 )
{
DoChildren( p_playlist, p_export, p_current );
continue;
}
assert( p_current->p_input->psz_uri );
/* General info */ /* General info */
if( p_current->p_input->psz_name && if( p_current->p_input->psz_name &&
strcmp( p_current->p_input->psz_uri, strcmp( p_current->p_input->psz_uri,
...@@ -99,5 +101,19 @@ int Export_M3U( vlc_object_t *p_this ) ...@@ -99,5 +101,19 @@ int Export_M3U( vlc_object_t *p_this )
fprintf( p_export->p_file, "%s\n", fprintf( p_export->p_file, "%s\n",
p_current->p_input->psz_uri ); p_current->p_input->psz_uri );
} }
}
int Export_M3U( vlc_object_t *p_this )
{
playlist_t *p_playlist = (playlist_t*)p_this;
playlist_export_t *p_export = (playlist_export_t *)p_playlist->p_private;
msg_Dbg(p_playlist, "saving using M3U format");
/* Write header */
fprintf( p_export->p_file, "#EXTM3U\n" );
DoChildren( p_playlist, p_export, p_export->p_root );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment