2016-02-14 00:06:36 +01:00
# -*- coding: utf-8 -*-
import wx
2018-09-02 14:57:21 +02:00
import wx . adv
2016-02-14 00:06:36 +01:00
import application
class mainWindow ( wx . Frame ) :
def makeMenu ( self ) :
mb = wx . MenuBar ( )
2016-04-05 00:54:59 +02:00
app_ = wx . Menu ( )
2016-06-19 19:25:06 +02:00
create = wx . Menu ( )
2017-09-26 12:19:30 +02:00
# self.audio_album = create.Append(wx.NewId(), _(u"Audio album"))
# self.audio_album.Enable(False)
2016-08-14 14:46:41 +02:00
self . video_album = create . Append ( wx . NewId ( ) , _ ( u " Video album " ) )
2018-09-02 14:57:21 +02:00
app_ . Append ( wx . NewId ( ) , _ ( u " Create " ) , create )
2016-06-29 05:32:32 +02:00
delete = wx . Menu ( )
2017-09-26 12:19:30 +02:00
# self.delete_audio_album = delete.Append(wx.NewId(), _(u"Audio album"))
# self.delete_audio_album.Enable(False)
2016-08-14 14:46:41 +02:00
self . delete_video_album = delete . Append ( wx . NewId ( ) , _ ( u " Video album " ) )
2018-09-02 14:57:21 +02:00
app_ . Append ( wx . NewId ( ) , _ ( u " Delete " ) , delete )
2016-04-05 00:54:59 +02:00
self . settings_dialog = app_ . Append ( wx . NewId ( ) , _ ( u " Preferences " ) )
2018-09-06 17:47:10 +02:00
me = wx . Menu ( )
profile = wx . Menu ( )
self . view_profile = profile . Append ( wx . NewId ( ) , _ ( u " View profile " ) )
self . edit_profile = profile . Append ( wx . NewId ( ) , _ ( u " Edit profile " ) )
self . open_in_browser = profile . Append ( wx . NewId ( ) , _ ( u " Open in browser " ) )
me . Append ( wx . NewId ( ) , _ ( u " Profile " ) , profile )
self . set_status = me . Append ( wx . NewId ( ) , _ ( u " Set status message " ) )
2016-02-14 00:06:36 +01:00
buffer = wx . Menu ( )
2016-06-19 19:25:06 +02:00
search = wx . Menu ( )
2017-09-26 12:19:30 +02:00
# self.search_audios = search.Append(wx.NewId(), _(u"Audio"))
# self.search_audios.Enable(False)
2016-08-16 00:00:49 +02:00
self . search_videos = search . Append ( wx . NewId ( ) , _ ( u " Video " ) )
2016-04-12 22:36:30 +02:00
self . timeline = buffer . Append ( wx . NewId ( ) , _ ( u " &New timeline " ) )
2018-09-02 14:57:21 +02:00
buffer . Append ( wx . NewId ( ) , _ ( u " Search " ) , search )
2016-02-24 00:49:55 +01:00
self . update_buffer = buffer . Append ( wx . NewId ( ) , _ ( u " Update current buffer " ) )
2016-02-14 00:06:36 +01:00
self . load_previous_items = buffer . Append ( wx . NewId ( ) , _ ( u " Load previous items " ) )
2016-03-27 08:11:52 +02:00
self . remove_buffer_ = buffer . Append ( wx . NewId ( ) , _ ( u " &Remove buffer " ) )
2016-04-05 00:54:59 +02:00
mb . Append ( app_ , _ ( u " Application " ) )
2018-09-06 17:47:10 +02:00
mb . Append ( me , _ ( u " Me " ) )
2016-02-14 00:06:36 +01:00
mb . Append ( buffer , _ ( u " Buffer " ) )
2017-09-26 12:19:30 +02:00
# player = wx.Menu()
# self.player_play = player.Append(wx.NewId(), _(u"Play"))
# self.player_play.Enable(False)
# self.player_play_all = player.Append(wx.NewId(), _(u"Play all"))
# self.player_play_all.Enable(False)
# self.player_stop = player.Append(wx.NewId(), _(u"Stop"))
# self.player_stop.Enable(False)
# self.player_previous = player.Append(wx.NewId(), _(u"Previous"))
# self.player_previous.Enable(False)
# self.player_next = player.Append(wx.NewId(), _(u"Next"))
# self.player_next.Enable(False)
# self.player_shuffle = player.AppendCheckItem(wx.NewId(), _(u"Shuffle"))
# self.player_shuffle.Enable(False)
# self.player_volume_down = player.Append(wx.NewId(), _(u"Volume down"))
# self.player_volume_down.Enable(False)
# self.player_volume_up = player.Append(wx.NewId(), _(u"Volume up"))
# self.player_volume_up.Enable(False)
# self.player_mute = player.Append(wx.NewId(), _(u"Mute"))
# self.player_mute.Enable(False)
2016-02-14 00:06:36 +01:00
help_ = wx . Menu ( )
self . about = help_ . Append ( wx . NewId ( ) , _ ( u " About {0} " ) . format ( application . name , ) )
2016-06-29 20:16:35 +02:00
self . documentation = help_ . Append ( wx . NewId ( ) , _ ( u " Manual " ) )
2016-02-14 00:06:36 +01:00
self . check_for_updates = help_ . Append ( wx . NewId ( ) , _ ( u " Check for updates " ) )
2016-04-04 18:18:42 +02:00
self . changelog = help_ . Append ( wx . NewId ( ) , _ ( u " Chan&gelog " ) )
2017-09-26 12:19:30 +02:00
# mb.Append(player, _(u"Audio player"))
2016-02-14 00:06:36 +01:00
mb . Append ( help_ , _ ( u " Help " ) )
self . SetMenuBar ( mb )
def __init__ ( self ) :
super ( mainWindow , self ) . __init__ ( parent = None , id = wx . NewId ( ) , title = application . name )
2016-06-08 12:12:25 +02:00
self . Maximize ( )
2016-02-14 00:06:36 +01:00
self . makeMenu ( )
self . panel = wx . Panel ( self )
self . sizer = wx . BoxSizer ( wx . VERTICAL )
self . sb = self . CreateStatusBar ( )
self . tb = wx . Treebook ( self . panel , - 1 )
2016-06-05 15:11:25 +02:00
self . sizer . Add ( self . tb , 1 , wx . ALL | wx . EXPAND , 5 )
2016-02-14 00:06:36 +01:00
def realize ( self ) :
self . panel . SetSizer ( self . sizer )
self . SetClientSize ( self . sizer . CalcMin ( ) )
2016-06-05 15:11:25 +02:00
self . Layout ( )
self . SetSize ( self . GetBestSize ( ) )
2016-02-14 00:06:36 +01:00
def change_status ( self , status ) :
self . sb . SetStatusText ( status )
def connection_error ( self ) :
wx . MessageDialog ( self , _ ( u " There is a connection error. Check your internet connection and try again later. " ) , _ ( u " Connection error " ) , wx . ICON_ERROR ) . ShowModal ( )
def get_buffer_count ( self ) :
return self . tb . GetPageCount ( )
def add_buffer ( self , buffer , name ) :
self . tb . AddPage ( buffer , name )
def insert_buffer ( self , buffer , name , pos ) :
2016-05-25 18:33:57 +02:00
return self . tb . InsertSubPage ( pos , buffer , name )
2016-02-14 00:06:36 +01:00
def search ( self , name_ ) :
for i in xrange ( 0 , self . tb . GetPageCount ( ) ) :
if self . tb . GetPage ( i ) . name == name_ : return i
def get_current_buffer ( self ) :
return self . tb . GetCurrentPage ( )
def get_current_buffer_pos ( self ) :
return self . tb . GetSelection ( )
def get_buffer ( self , pos ) :
return self . GetPage ( pos )
def change_buffer ( self , position ) :
self . tb . ChangeSelection ( position )
def get_buffer_text ( self ) :
return self . tb . GetPageText ( self . tb . GetSelection ( ) )
def get_buffer_by_id ( self , id ) :
return self . nb . FindWindowById ( id )
def advance_selection ( self , forward ) :
self . tb . AdvanceSelection ( forward )
def about_dialog ( self , * args , * * kwargs ) :
2018-09-02 14:57:21 +02:00
info = wx . adv . AboutDialogInfo ( )
2016-02-14 00:06:36 +01:00
info . SetName ( application . name )
info . SetVersion ( application . version )
info . SetDescription ( application . description )
info . SetCopyright ( application . copyright )
2016-04-05 15:35:25 +02:00
info . SetTranslators ( application . translators )
2016-02-14 00:06:36 +01:00
# info.SetLicence(application.licence)
info . AddDeveloper ( application . author )
2018-09-02 14:57:21 +02:00
wx . adv . AboutBox ( info )
2016-03-23 15:38:18 +01:00
2016-03-27 08:11:52 +02:00
def remove_buffer ( self , pos ) :
self . tb . DeletePage ( pos )