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:
XXX: DETAILED INSTRUCTIONS HERE :XXX
* 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:
"Streaming wizard" and "VLM control". These features will be replaced
by a better alternative in the next version. If you absolutely need these
features, we advise you to keep vlc 0.8.6
- "Streaming wizard" and "VLM control". These features will be replaced
by a better alternative in the next version. If you absolutely need these
features, we advise you to keep vlc 0.8.6
- Similarly, "Bookmarks" will be reintroduced in an improved version at a
later point
Changes:
--------
......
......@@ -30,10 +30,20 @@
/*************** 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 *****************/
#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 */
#define I_POP_PLAY N_("Play")
#define I_POP_PREPARSE N_("Fetch information")
......@@ -44,6 +54,30 @@
#define I_POP_STREAM N_("Stream...")
#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 *************/
#define I_HIDDEN_ADV N_( "Some options are available but hidden. "\
......
......@@ -27,6 +27,8 @@
#include "components/playlist/panels.hpp"
#include "util/customwidgets.hpp"
#include <vlc_intf_strings.h>
#include <QTreeView>
#include <QPushButton>
#include <QHBoxLayout>
......@@ -53,7 +55,7 @@ StandardPLPanel::StandardPLPanel( BasePlaylistWidget *_parent,
view->setIconSize( QSize(20,20) );
view->setAlternatingRowColors( true );
view->header()->resizeSection( 0, 230 );
view->header()->resizeSection( 2, 60 );
view->header()->resizeSection( 1, 170 );
view->header()->setSortIndicatorShown( true );
view->header()->setClickable( true );
......@@ -95,9 +97,9 @@ StandardPLPanel::StandardPLPanel( BasePlaylistWidget *_parent,
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 );
searchLine = new ClickLineEdit( qfu( "Playlist filter" ), 0 );
searchLine = new ClickLineEdit( qtr(I_PL_FILTER), 0 );
CONNECT( searchLine, textChanged(QString), this, search(QString));
buttons->addWidget( searchLine ); filter->setBuddy( searchLine );
......@@ -117,17 +119,17 @@ void StandardPLPanel::toggleRepeat()
if( model->hasRepeat() )
{
model->setRepeat( false ); model->setLoop( true );
repeatButton->setText( qtr( "Repeat All" ) );
repeatButton->setText( qtr(I_PL_LOOP) );
}
else if( model->hasLoop() )
{
model->setRepeat( false ) ; model->setLoop( false );
repeatButton->setText( qtr( "No Repeat" ) );
repeatButton->setText( qtr(I_PL_NOREPEAT) );
}
else
{
model->setRepeat( true );
repeatButton->setText( qtr( "Repeat One" ) );
repeatButton->setText( qtr(I_PL_REPEAT) );
}
}
......@@ -135,7 +137,7 @@ void StandardPLPanel::toggleRandom()
{
bool prev = model->hasRandom();
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 )
......@@ -159,13 +161,13 @@ void StandardPLPanel::setCurrentRootId( int _new )
currentRootId == THEPL->p_local_onelevel->i_id )
{
addButton->setEnabled( true );
addButton->setToolTip( qtr("Add to playlist" ) );
addButton->setToolTip( qtr(I_PL_ADDPL) );
}
else if( currentRootId == THEPL->p_ml_category->i_id ||
currentRootId == THEPL->p_ml_onelevel->i_id )
{
addButton->setEnabled( true );
addButton->setToolTip( qtr("Add to media library" ) );
addButton->setToolTip( qtr(I_PL_ADDML) );
}
else
addButton->setEnabled( false );
......@@ -177,15 +179,16 @@ void StandardPLPanel::add()
if( currentRootId == THEPL->p_local_category->i_id ||
currentRootId == THEPL->p_local_onelevel->i_id )
{
popup->addAction( qtr("Add file"), THEDP, SLOT( simplePLAppendDialog() ) );
popup->addAction( qtr("Advanced add"), THEDP, SLOT( PLAppendDialog() ) );
popup->addAction( qtr(I_PL_ADDF), THEDP, SLOT(simplePLAppendDialog()));
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 ||
currentRootId == THEPL->p_ml_onelevel->i_id )
{
popup->addAction( qtr("Add file"), THEDP, SLOT( simpleMLAppendDialog() ) );
popup->addAction( qtr("Advanced add"), THEDP, SLOT( MLAppendDialog() ) );
popup->addAction( qtr("Directory"), THEDP, SLOT( openMLDirectory() ) );
popup->addAction( qtr(I_PL_ADDF), THEDP, SLOT(simpleMLAppendDialog()));
popup->addAction( qtr(I_PL_ADVADD), THEDP, SLOT( MLAppendDialog() ) );
popup->addAction( qtr(I_PL_ADDDIR), THEDP, SLOT( MLAppendDir() ) );
}
popup->popup( QCursor::pos() );
}
......
......@@ -156,7 +156,7 @@ bool MessagesDialog::save()
p_intf->p_libvlc->psz_homedir,
"Texts / Logs (*.log *.txt);; All (*.*) ");
if( saveLogFileName != NULL )
if( !saveLogFileName.isNull() )
{
QFile file(saveLogFileName);
if (!file.open(QFile::WriteOnly | QFile::Text)) {
......
This diff is collapsed.
......@@ -70,11 +70,12 @@ private:
intf_thread_t *p_intf;
static DialogsProvider *instance;
QStringList showSimpleOpen();
void addFromSimple( bool, bool );
public slots:
void playlistDialog();
void bookmarksDialog();
void MediaInfoDialog();
void mediaInfoDialog();
void prefsDialog();
void extendedDialog();
void messagesDialog();
......@@ -92,8 +93,9 @@ public slots:
void SDMenuAction( QString );
void streamingDialog();
void openPlaylist();
void openDirectory();
void openMLDirectory();
void savePlaylist();
void PLAppendDir();
void MLAppendDir();
void quit();
void switchToSkins();
void helpDialog();
......
......@@ -27,8 +27,9 @@
#include <QActionGroup>
#include <QSignalMapper>
#include "main_interface.hpp"
#include <vlc_intf_strings.h>
#include "main_interface.hpp"
#include "menus.hpp"
#include "dialogs_provider.hpp"
#include "input_manager.hpp"
......@@ -155,8 +156,8 @@ QMenu *QVLCMenu::PlaylistMenu( MainInterface *mi, intf_thread_t *p_intf )
menu->addMenu( SDMenu( p_intf ) );
menu->addSeparator();
DP_SADD( qtr( "Open playlist file"), "", "", openPlaylist() );
// DP_SADD( qtr( "Save playlist to file" ), "", "", savePlaylist() );
DP_SADD( qtr(I_PL_LOAD), "", "", openPlaylist() );
DP_SADD( qtr(I_PL_SAVE), "", "", savePlaylist() );
menu->addSeparator();
menu->addAction( qtr("Undock from interface"), mi,
SLOT( undockPlaylist() ) );
......@@ -175,10 +176,9 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, MainInterface *mi,
menu->addMenu( intfmenu );
menu->addSeparator();
}
DP_SADD( qtr("Messages" ), "", "", messagesDialog() );
DP_SADD( qtr("Information") , "", "", MediaInfoDialog() );
DP_SADD( qtr("Bookmarks"), "", "", bookmarksDialog() );
DP_SADD( qtr("Extended settings"), "","",extendedDialog() );
DP_SADD( qtr(I_MENU_MSG), "", "", messagesDialog() );
DP_SADD( qtr(I_MENU_INFO) , "", "", mediaInfoDialog() );
DP_SADD( qtr(I_MENU_EXT), "","",extendedDialog() );
if( mi )
{
menu->addSeparator();
......@@ -290,7 +290,7 @@ QMenu *QVLCMenu::NavigMenu( intf_thread_t *p_intf, QMenu *current )
QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
{
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,
FIND_ANYWHERE );
int i_num = 0;
......@@ -331,7 +331,7 @@ QMenu *QVLCMenu::HelpMenu()
QMenu *menu = new QMenu();
DP_SADD( qtr("Help") , "", "", helpDialog() );
menu->addSeparator();
DP_SADD( qtr("About VLC media player..."), "", "", aboutDialog() );
DP_SADD( qtr(I_MENU_ABOUT), "", "", aboutDialog() );
return menu;
}
......
......@@ -42,24 +42,26 @@ int Export_M3U ( vlc_object_t * );
/*****************************************************************************
* 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;
msg_Dbg(p_playlist, "saving using M3U format");
/* Write header */
fprintf( p_export->p_file, "#EXTM3U\n" );
/* 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 )
continue;
if( p_current->i_children >= 0 )
{
DoChildren( p_playlist, p_export, p_current );
continue;
}
assert( p_current->p_input->psz_uri );
/* General info */
if( p_current->p_input->psz_name &&
strcmp( p_current->p_input->psz_uri,
......@@ -99,5 +101,19 @@ int Export_M3U( vlc_object_t *p_this )
fprintf( p_export->p_file, "%s\n",
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;
}
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