Commit 73424dcf authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - Add a dialog at firststart to ask about the privacy policy.

parent a773582e
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/ *****************************************************************************/
#ifndef _INFOPANELS_H_ #ifndef _PREFERENCESWIDGETS_H_
#define _INFOPANELS_H_ #define _PREFERENCESWIDGETS_H_
#include <vlc/vlc.h> #include <vlc/vlc.h>
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "dialogs/playlist.hpp" #include "dialogs/playlist.hpp"
#include "menus.hpp" #include "menus.hpp"
#include <QMenuBar> #include <QMenuBar>
#include <QCloseEvent> #include <QCloseEvent>
#include <QPushButton> #include <QPushButton>
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
#include <QWidgetAction> #include <QWidgetAction>
#include <QDockWidget> #include <QDockWidget>
#include <QToolBar> #include <QToolBar>
#include <QGroupBox>
#include <assert.h> #include <assert.h>
#include <vlc_keys.h> #include <vlc_keys.h>
...@@ -95,6 +97,23 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -95,6 +97,23 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
embeddedPlaylistWasActive = videoIsActive = false; embeddedPlaylistWasActive = videoIsActive = false;
input_name = ""; input_name = "";
/* Ask for the network policy on first startup */
if( config_GetInt( p_intf, "privacy-ask") )
{
QList<ConfigControl *> controls;
privacyDialog( controls );
QList<ConfigControl *>::Iterator i;
for( i = controls.begin() ; i != controls.end() ; i++ )
{
ConfigControl *c = qobject_cast<ConfigControl *>(*i);
c->doApply( p_intf );
}
config_PutInt( p_intf, "privacy-ask" , 0 );
config_SaveConfigFile( p_intf, NULL );
}
/** /**
* Configuration and settings * Configuration and settings
**/ **/
...@@ -103,7 +122,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -103,7 +122,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Main settings */ /* Main settings */
setFocusPolicy( Qt::StrongFocus ); setFocusPolicy( Qt::StrongFocus );
setAcceptDrops(true); setAcceptDrops( true );
setWindowIcon( QApplication::windowIcon() ); setWindowIcon( QApplication::windowIcon() );
setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) ); setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
...@@ -120,6 +139,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -120,6 +139,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
visualSelectorEnabled = settings->value( "visual-selector", false ).toBool(); visualSelectorEnabled = settings->value( "visual-selector", false ).toBool();
notificationEnabled = config_GetInt( p_intf, "qt-notification" ) notificationEnabled = config_GetInt( p_intf, "qt-notification" )
? true : false; ? true : false;
/************************** /**************************
* UI and Widgets design * UI and Widgets design
**************************/ **************************/
...@@ -379,6 +399,69 @@ void MainInterface::handleMainUi( QSettings *settings ) ...@@ -379,6 +399,69 @@ void MainInterface::handleMainUi( QSettings *settings )
setMinimumSize( PREF_W, addSize.height() ); setMinimumSize( PREF_W, addSize.height() );
} }
void MainInterface::privacyDialog( QList<ConfigControl *> controls )
{
QDialog *privacy = new QDialog( this );
privacy->setWindowTitle( qtr( "Privacy and Network policies" ) );
QGridLayout *gLayout = new QGridLayout( privacy );
QGroupBox *blabla = new QGroupBox( qtr( "Privacy and Network Warning" ) );
QGridLayout *blablaLayout = new QGridLayout( blabla );
QLabel *text = new QLabel( qtr(
"<p>The <i>VideoLAN Team</i> doesn't like when an application goes online without "
"authorisation.</p>\n "
"<p><i>VLC media player</i> can request limited information on "
"Internet, espically to get CD Covers and songs metadata or to know "
"if updates are available.</p>\n"
"<p><i>VLC media player</i> <b>DOES NOT</b> send or collect <b>ANY</b> information, even anonymously about your "
"usage.</p>\n"
"<p>Therefore please check the following options, the default being almost no "
"access on the web.</p>\n") );
text->setWordWrap( true );
text->setTextFormat( Qt::RichText );
blablaLayout->addWidget( text, 0, 0 ) ;
QGroupBox *options = new QGroupBox;
QGridLayout *optionsLayout = new QGridLayout( options );
gLayout->addWidget( blabla, 0, 0, 1, 3 );
gLayout->addWidget( options, 1, 0, 1, 3 );
module_config_t *p_config;
ConfigControl *control;
int line = 0;
#define CONFIG_GENERIC( option, type ) \
p_config = config_FindConfig( VLC_OBJECT(p_intf), option ); \
if( p_config ) \
{ \
control = new type ## ConfigControl( VLC_OBJECT(p_intf), \
p_config, options, false, optionsLayout, line ); \
}
#define CONFIG_GENERIC_NOBOOL( option, type ) \
p_config = config_FindConfig( VLC_OBJECT(p_intf), option ); \
if( p_config ) \
{ \
control = new type ## ConfigControl( VLC_OBJECT(p_intf), \
p_config, options, optionsLayout, line ); \
}
CONFIG_GENERIC( "album-art", IntegerList ); line++;
CONFIG_GENERIC_NOBOOL( "fetch-meta", Bool ); line++;
CONFIG_GENERIC_NOBOOL( "qt-updates-notif", Bool );
QPushButton *ok = new QPushButton( qtr( "Ok" ) );
gLayout->addWidget( ok, 2, 2 );
CONNECT( ok, clicked(), privacy, accept() );
privacy->exec();
}
void MainInterface::debug() void MainInterface::debug()
{ {
msg_Dbg( p_intf, "size: %i - %i", controls->size().height(), controls->size().width() ); msg_Dbg( p_intf, "size: %i - %i", controls->size().height(), controls->size().width() );
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "qt4.hpp" #include "qt4.hpp"
#include "util/qvlcframe.hpp" #include "util/qvlcframe.hpp"
#include "components/preferences_widgets.hpp"
#include <vlc_aout.h> #include <vlc_aout.h>
...@@ -98,6 +99,7 @@ private: ...@@ -98,6 +99,7 @@ private:
void handleSystray(); void handleSystray();
void doComponentsUpdate(); void doComponentsUpdate();
void createSystray(); void createSystray();
void privacyDialog( QList<ConfigControl *> controls );
/* Video */ /* Video */
VideoWidget *videoWidget; VideoWidget *videoWidget;
......
...@@ -107,6 +107,8 @@ static void ShowDialog ( intf_thread_t *, int, int, intf_dialog_args_t * ); ...@@ -107,6 +107,8 @@ static void ShowDialog ( intf_thread_t *, int, int, intf_dialog_args_t * );
#define BLING_TEXT N_("Use non native buttons and volume slider") #define BLING_TEXT N_("Use non native buttons and volume slider")
#define PRIVACY_TEXT N_("Ask for network policy at start")
vlc_module_begin(); vlc_module_begin();
set_shortname( (char *)"Qt" ); set_shortname( (char *)"Qt" );
set_description( (char*)_("Qt interface") ); set_description( (char*)_("Qt interface") );
...@@ -162,6 +164,8 @@ vlc_module_begin(); ...@@ -162,6 +164,8 @@ vlc_module_begin();
VLC_META_ENGINE_DURATION|VLC_META_ENGINE_COLLECTION, VLC_META_ENGINE_DURATION|VLC_META_ENGINE_COLLECTION,
NULL, SHOWFLAGS_TEXT, NULL, SHOWFLAGS_TEXT,
SHOWFLAGS_LONGTEXT, VLC_TRUE ); SHOWFLAGS_LONGTEXT, VLC_TRUE );
add_bool( "privacy-ask", VLC_TRUE, NULL, PRIVACY_TEXT, PRIVACY_TEXT,
VLC_FALSE );
set_callbacks( OpenDialogs, Close ); set_callbacks( OpenDialogs, Close );
vlc_module_end(); vlc_module_end();
......
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