2020-12-29 Fred Gleason <fredg@paravelsystems.com>

* Refactored the Full Log widget in rdairplay to use the model-based
	API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2020-12-29 12:47:31 -05:00
parent ca7ead3ea3
commit 1ce6d0ddc3
33 changed files with 984 additions and 1573 deletions

View File

@@ -51,6 +51,7 @@ dist_rdairplay_SOURCES = button_log.cpp button_log.h\
list_logs.cpp list_logs.h\
local_macros.cpp colors.h\
loglinebox.cpp loglinebox.h\
logtableview.cpp logtableview.h\
mode_display.cpp mode_display.h\
pie_counter.cpp pie_counter.h\
post_counter.cpp post_counter.h\
@@ -67,6 +68,7 @@ nodist_rdairplay_SOURCES = moc_button_log.cpp\
moc_list_log.cpp\
moc_list_logs.cpp\
moc_loglinebox.cpp\
moc_logtableview.cpp\
moc_mode_display.cpp\
moc_pie_counter.cpp\
moc_post_counter.cpp\

View File

@@ -97,11 +97,9 @@ void HourSelector::setTimeMode(RDAirPlayConf::TimeMode mode)
}
void HourSelector::updateHours(bool states[24])
void HourSelector::updateHour(int hour,bool state)
{
for(unsigned i=0;i<24;i++) {
hour_button[i]->setEnabled(states[i]);
}
hour_button[hour]->setEnabled(state);
}

View File

@@ -31,7 +31,9 @@ class HourSelector : public RDWidget
HourSelector(QWidget *parent=0);
QSizePolicy sizePolicy() const;
void setTimeMode(RDAirPlayConf::TimeMode mode);
void updateHours(bool states[24]);
public slots:
void updateHour(int hour,bool state);
signals:
void hourSelected(int hour);

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
// list_log.h
//
// The full log list widget for RDAirPlay.
// The full log widget for RDAirPlay.
//
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
//
@@ -21,14 +21,14 @@
#ifndef LIST_LOG_H
#define LIST_LOG_H
#include <rdlogplay.h>
#include <rdwidget.h>
#include "edit_event.h"
#include "hourselector.h"
#include "lib_listview.h"
#include "list_logs.h"
#define END_MARKER_ID -2
#include "logtableview.h"
class ListLog : public RDWidget
{
@@ -38,9 +38,6 @@ class ListLog : public RDWidget
QWidget *parent=0);
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
void refresh();
void refresh(int line);
void setStatus(int line,RDLogLine::Status status);
RDAirPlayConf::ActionMode actionMode() const;
void setActionMode(RDAirPlayConf::ActionMode mode,int *cartnum=0);
void setOpMode(RDAirPlayConf::OpMode mode);
@@ -62,43 +59,29 @@ class ListLog : public RDWidget
void takeButtonData();
void playButtonData();
void modifyButtonData();
void doubleclickedData(Q3ListViewItem *,const QPoint &,int);
void doubleClickedData(const QModelIndex &index);
void scrollButtonData();
void refreshButtonData();
void nextButtonData();
void loadButtonData();
void logReloadedData();
void logPlayedData(int line);
void logPausedData(int line);
void logStoppedData(int line);
void logInsertedData(int line);
void logRemovedData(int line,int num,bool moving);
void selectionChangedData();
void selectionChangedData(const QItemSelection &new_sel,
const QItemSelection &old_sel);
void transportChangedData();
void modifiedData(int line);
void modelResetData();
void refreshabilityChangedData(bool state);
void cartDroppedData(int line,RDLogLine *ll);
private:
enum PlayButtonMode {ButtonDisabled=0,ButtonPlay=1,ButtonStop=2};
void RefreshList();
void RefreshList(int line);
void RefreshItem(RDListViewItem *l,int line);
int CurrentLine();
RDLogLine::Status CurrentStatus();
RDLogLine::State CurrentState();
void ClearSelection();
RDListViewItem *GetItem(int line);
void UpdateTimes(int removed_line=-1,int num_lines=0);
void ScrollTo(int line);
void UpdateColor(int line,bool next=false);
void SetColor();
void SetPlaybuttonMode(ListLog::PlayButtonMode mode);
QString TimeString(const QTime &time) const;
void UpdateHourSelector();
int PredictedStartHour(RDListViewItem *item);
HourSelector *list_hour_selector;
LibListView *list_log_list;
LogTableView *list_log_view;
RDLogPlay *list_log;
ListLogs *list_logs_dialog;
RDAirPlayConf::ActionMode list_action_mode;
@@ -128,14 +111,6 @@ class ListLog : public RDWidget
bool list_scroll;
bool list_suspended_scroll;
QPalette list_scroll_color[2];
QPixmap *list_playout_map;
QPixmap *list_macro_map;
QPixmap *list_chain_map;
QPixmap *list_track_cart_map;
QPixmap *list_mic16_map;
QPixmap *list_notemarker_map;
QPixmap *list_traffic_map;
QPixmap *list_music_map;
bool list_pause_allowed;
bool list_audition_head_playing;
bool list_audition_tail_playing;

View File

@@ -0,0 +1,56 @@
// logtableview.cpp
//
// TableView widget for RDAirPlay
//
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
//
#include <rdcartdrag.h>
#include <rdlogplay.h>
#include "logtableview.h"
LogTableView::LogTableView(QWidget *parent)
: QTableView(parent)
{
setAcceptDrops(true);
}
void LogTableView::dragEnterEvent(QDragEnterEvent *e)
{
e->accept(RDCartDrag::canDecode(e));
}
void LogTableView::dragMoveEvent(QDragMoveEvent *e)
{
e->accept(RDCartDrag::canDecode(e));
}
void LogTableView::dropEvent(QDropEvent *e)
{
RDLogLine ll;
int line=-1;
int y_pos=e->pos().y();
if(RDCartDrag::decode(e,&ll)) {
line=rowAt(y_pos);
emit cartDropped(line,&ll);
}
}

47
rdairplay/logtableview.h Normal file
View File

@@ -0,0 +1,47 @@
// logtableview.h
//
// The Log TableView widget for RDAirPlay
//
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
//
#ifndef LOGTABLEVIEW_H
#define LOGTABLEVIEW_H
#include <QDropEvent>
#include <QDragEnterEvent>
#include <QTableView>
#include <rdlog_line.h>
class LogTableView : public QTableView
{
Q_OBJECT
public:
LogTableView(QWidget *parent);
signals:
void cartDropped(int line,RDLogLine *ll);
protected:
void dragEnterEvent(QDragEnterEvent *e);
void dragMoveEvent(QDragMoveEvent *e);
void dropEvent(QDropEvent *e);
};
#endif // LOGTABLEVIEW_H

View File

@@ -23,9 +23,9 @@
#include <sys/mman.h>
#include <sys/wait.h>
#include <qapplication.h>
#include <qmessagebox.h>
#include <qtranslator.h>
#include <QApplication>
#include <QMessageBox>
#include <QTranslator>
#include <rdconf.h>
#include <rdgetpasswd.h>
@@ -39,7 +39,6 @@
//
// Global Resources
//
RDAudioPort *rdaudioport_conf;
RDEventPlayer *rdevent_player;
RDCartDialog *rdcart_dialog;
MainWidget *prog_ptr;
@@ -1447,7 +1446,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
rda->airplayConf()->defaultTransType());
air_log[id]->logLine(air_log[id]->lineCount()-1)->
setTransType(rda->airplayConf()->defaultTransType());
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
air_log[id]->update(air_log[id]->lineCount()-1);
}
else {
air_log[id]->
@@ -1455,7 +1454,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
rda->airplayConf()->defaultTransType());
air_log[id]->logLine(line)->
setTransType(rda->airplayConf()->defaultTransType());
air_log_list[id]->refresh(line);
air_log[id]->update(line);
}
SetActionMode(StartButton::Stop);
break;
@@ -1484,14 +1483,14 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
if(air_source_id==id) {
if(line<0) {
air_log[id]->move(air_copy_line,air_log[id]->lineCount());
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
air_log[id]->update(air_log[id]->lineCount()-1);
}
else {
if(line>air_copy_line) {
line--;
}
air_log[id]->move(air_copy_line,line);
air_log_list[id]->refresh(line);
air_log[id]->update(line);
}
}
else {
@@ -1499,12 +1498,12 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
if(line<0) {
air_log[id]->
insert(air_log[id]->lineCount(),air_add_cart,RDLogLine::Play);
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
air_log[id]->update(air_log[id]->lineCount()-1);
}
else {
air_log[id]->
insert(line,air_add_cart,air_log[id]->nextTransType(line));
air_log_list[id]->refresh(line);
air_log[id]->update(line);
}
}
SetActionMode(StartButton::Stop);
@@ -1540,7 +1539,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
rda->airplayConf()->defaultTransType());
air_log[id]->logLine(air_log[id]->lineCount()-1)->
setTransType(rda->airplayConf()->defaultTransType());
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
air_log[id]->update(air_log[id]->lineCount()-1);
}
else {
air_log[id]->
@@ -1548,7 +1547,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
rda->airplayConf()->defaultTransType());
air_log[id]->logLine(line)->
setTransType(rda->airplayConf()->defaultTransType());
air_log_list[id]->refresh(line);
air_log[id]->update(line);
}
}
SetActionMode(StartButton::Stop);
@@ -1612,7 +1611,7 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll)
rda->airplayConf()->defaultTransType());
air_log[id]->logLine(air_log[id]->lineCount()-1)->
setTransType(rda->airplayConf()->defaultTransType());
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
air_log[id]->update(air_log[id]->lineCount()-1);
}
else {
air_log[id]->
@@ -1620,7 +1619,7 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll)
rda->airplayConf()->defaultTransType());
air_log[id]->logLine(line)->
setTransType(rda->airplayConf()->defaultTransType());
air_log_list[id]->refresh(line);
air_log[id]->update(line);
}
}
}

View File

@@ -28,6 +28,7 @@ x11 {
SOURCES += list_logs.cpp
SOURCES += local_macros.cpp
SOURCES += loglinebox.cpp
SOURCES += logtableview.cpp
SOURCES += mode_display.cpp
SOURCES += pie_counter.cpp
SOURCES += post_counter.cpp
@@ -46,6 +47,7 @@ x11 {
HEADERS += list_log.h
HEADERS += list_logs.h
HEADERS += loglinebox.h
HEADERS += logtableview.h
HEADERS += mode_display.h
HEADERS += pie_counter.h
HEADERS += post_counter.h

View File

@@ -301,59 +301,59 @@ zápis</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>--- konec zápisu ---</translation>
<translation type="obsolete">--- konec zápisu ---</translation>
</message>
<message>
<source>PLAY</source>
<translation>PŘEHRÁT</translation>
<translation type="obsolete">PŘEHRÁT</translation>
</message>
<message>
<source>STOP</source>
<translation>ZASTAVIT</translation>
<translation type="obsolete">ZASTAVIT</translation>
</message>
<message>
<source>SEGUE</source>
<translation>PŘECHOD</translation>
<translation type="obsolete">PŘECHOD</translation>
</message>
<message>
<source>MARKER</source>
<translation>ZNAČKA</translation>
<translation type="obsolete">ZNAČKA</translation>
</message>
<message>
<source>TRACK</source>
<translation>STOPA</translation>
<translation type="obsolete">STOPA</translation>
</message>
<message>
<source>LINK</source>
<translation>ODKAZ</translation>
<translation type="obsolete">ODKAZ</translation>
</message>
<message>
<source>[music import]</source>
<translation>[zavedení hudby]</translation>
<translation type="obsolete">[zavedení hudby]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[zavedení přenosu]</translation>
<translation type="obsolete">[zavedení přenosu]</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>ŘETĚZ K</translation>
<translation type="obsolete">ŘETĚZ K</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[VOZÍK NENALEZEN]</translation>
<translation type="obsolete">[VOZÍK NENALEZEN]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[ŽÁDNÝ PLATNÝ ZÁBĚR NENÍ DOSTUPNÝ]</translation>
<translation type="obsolete">[ŽÁDNÝ PLATNÝ ZÁBĚR NENÍ DOSTUPNÝ]</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[ŽÁDNÝ ZVUK NENÍ DOSTUPNÝ]</translation>
<translation type="obsolete">[ŽÁDNÝ ZVUK NENÍ DOSTUPNÝ]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">T</translation>
<translation type="obsolete">T</translation>
</message>
<message>
<source>Pause</source>
@@ -381,7 +381,7 @@ zápis</translation>
</message>
<message>
<source>Selected:</source>
<translation>Vybráno:</translation>
<translation type="unfinished">Vybráno:</translation>
</message>
<message>
<source>Audition
@@ -399,70 +399,6 @@ poslechu</translation>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ListLogs</name>

View File

@@ -301,59 +301,59 @@ auswählen</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>--- ende des Logs ---</translation>
<translation type="obsolete">--- ende des Logs ---</translation>
</message>
<message>
<source>PLAY</source>
<translation>PLAY</translation>
<translation type="obsolete">PLAY</translation>
</message>
<message>
<source>STOP</source>
<translation>STOP</translation>
<translation type="obsolete">STOP</translation>
</message>
<message>
<source>SEGUE</source>
<translation>SEGUE</translation>
<translation type="obsolete">SEGUE</translation>
</message>
<message>
<source>MARKER</source>
<translation>MARKER</translation>
<translation type="obsolete">MARKER</translation>
</message>
<message>
<source>TRACK</source>
<translation>TRACK</translation>
<translation type="obsolete">TRACK</translation>
</message>
<message>
<source>LINK</source>
<translation>LINK</translation>
<translation type="obsolete">LINK</translation>
</message>
<message>
<source>[music import]</source>
<translation>[musikimport]</translation>
<translation type="obsolete">[musikimport]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[traffic import]</translation>
<translation type="obsolete">[traffic import]</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>CHAIN TO</translation>
<translation type="obsolete">CHAIN TO</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[CART NICHT GEFUNDEN]</translation>
<translation type="obsolete">[CART NICHT GEFUNDEN]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[KEIN GÜLTIGER CUT VERFÜGBAR]</translation>
<translation type="obsolete">[KEIN GÜLTIGER CUT VERFÜGBAR]</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[KEIN AUDIO VERFÜGBAR]</translation>
<translation type="obsolete">[KEIN AUDIO VERFÜGBAR]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">T</translation>
<translation type="obsolete">T</translation>
</message>
<message>
<source>Pause</source>
@@ -381,7 +381,7 @@ auswählen</translation>
</message>
<message>
<source>Selected:</source>
<translation>Ausgewählt:</translation>
<translation type="unfinished">Ausgewählt:</translation>
</message>
<message>
<source>Audition
@@ -399,70 +399,6 @@ vorhören</translation>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ListLogs</name>

View File

@@ -291,47 +291,47 @@ Lista</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>--- fin de la lista ---</translation>
<translation type="obsolete">--- fin de la lista ---</translation>
</message>
<message>
<source>PLAY</source>
<translation>REPRO</translation>
<translation type="obsolete">REPRO</translation>
</message>
<message>
<source>STOP</source>
<translation>PARAR</translation>
<translation type="obsolete">PARAR</translation>
</message>
<message>
<source>SEGUE</source>
<translation>SEGUE</translation>
<translation type="obsolete">SEGUE</translation>
</message>
<message>
<source>MARKER</source>
<translation>MARCADOR</translation>
<translation type="obsolete">MARCADOR</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>ENCADENAR A</translation>
<translation type="obsolete">ENCADENAR A</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[CARTUCHO NO ENCONTRADO]</translation>
<translation type="obsolete">[CARTUCHO NO ENCONTRADO]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[NO HAY AUDIOS VÁLIDOS]</translation>
<translation type="obsolete">[NO HAY AUDIOS VÁLIDOS]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">T</translation>
<translation type="obsolete">T</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[NO HAY AUDIO DISPONIBLE]</translation>
<translation type="obsolete">[NO HAY AUDIO DISPONIBLE]</translation>
</message>
<message>
<source>TRACK</source>
<translation>PISTA</translation>
<translation type="obsolete">PISTA</translation>
</message>
<message>
<source>LEN</source>
@@ -339,15 +339,15 @@ Lista</translation>
</message>
<message>
<source>LINK</source>
<translation>ENLACE</translation>
<translation type="obsolete">ENLACE</translation>
</message>
<message>
<source>[music import]</source>
<translation>[importar música]</translation>
<translation type="obsolete">[importar música]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[importar tráfico]</translation>
<translation type="obsolete">[importar tráfico]</translation>
</message>
<message>
<source>EST TIME</source>
@@ -381,7 +381,7 @@ Lista</translation>
</message>
<message>
<source>Selected:</source>
<translation>Selecc.:</translation>
<translation type="unfinished">Selecc.:</translation>
</message>
<message>
<source>Audition
@@ -399,70 +399,6 @@ Final</translation>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ListLogs</name>

View File

@@ -301,59 +301,59 @@ un Log</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>-- fin du log --</translation>
<translation type="obsolete">-- fin du log --</translation>
</message>
<message>
<source>PLAY</source>
<translation>LANCER</translation>
<translation type="obsolete">LANCER</translation>
</message>
<message>
<source>STOP</source>
<translation>STOPPER</translation>
<translation type="obsolete">STOPPER</translation>
</message>
<message>
<source>SEGUE</source>
<translation>ENCHAINER</translation>
<translation type="obsolete">ENCHAINER</translation>
</message>
<message>
<source>MARKER</source>
<translation>MARQUE</translation>
<translation type="obsolete">MARQUE</translation>
</message>
<message>
<source>TRACK</source>
<translation>TRACK</translation>
<translation type="obsolete">TRACK</translation>
</message>
<message>
<source>LINK</source>
<translation>LIEN</translation>
<translation type="obsolete">LIEN</translation>
</message>
<message>
<source>[music import]</source>
<translation>[import musique]</translation>
<translation type="obsolete">[import musique]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[import pub]</translation>
<translation type="obsolete">[import pub]</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>LIER A</translation>
<translation type="obsolete">LIER A</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[CART INCONNU]</translation>
<translation type="obsolete">[CART INCONNU]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[PAS DE CUT DISPONIBLE]</translation>
<translation type="obsolete">[PAS DE CUT DISPONIBLE]</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[PAS DE SON DISPONIBLE]</translation>
<translation type="obsolete">[PAS DE SON DISPONIBLE]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">T</translation>
<translation type="obsolete">T</translation>
</message>
<message>
<source>Pause</source>
@@ -381,7 +381,7 @@ un Log</translation>
</message>
<message>
<source>Selected:</source>
<translation>Sélection:</translation>
<translation type="unfinished">Sélection:</translation>
</message>
<message>
<source>Audition
@@ -403,70 +403,6 @@ la Fin</translation>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ListLogs</name>

View File

@@ -305,19 +305,19 @@ logg</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>--- slutt loggen ---</translation>
<translation type="obsolete">--- slutt loggen ---</translation>
</message>
<message>
<source>PLAY</source>
<translation>SPEL</translation>
<translation type="obsolete">SPEL</translation>
</message>
<message>
<source>STOP</source>
<translation>STOPP</translation>
<translation type="obsolete">STOPP</translation>
</message>
<message>
<source>SEGUE</source>
<translation>OVERGANG</translation>
<translation type="obsolete">OVERGANG</translation>
</message>
<message>
<source>OVERLAP</source>
@@ -325,43 +325,43 @@ logg</translation>
</message>
<message>
<source>MARKER</source>
<translation>MARKØR</translation>
<translation type="obsolete">MARKØR</translation>
</message>
<message>
<source>TRACK</source>
<translation>SPOR</translation>
<translation type="obsolete">SPOR</translation>
</message>
<message>
<source>LINK</source>
<translation>LENKJE</translation>
<translation type="obsolete">LENKJE</translation>
</message>
<message>
<source>[music import]</source>
<translation>[musikkimport]</translation>
<translation type="obsolete">[musikkimport]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[trafikkimport]</translation>
<translation type="obsolete">[trafikkimport]</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>LENK TIL</translation>
<translation type="obsolete">LENK TIL</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[FANN IKKJE KORG]</translation>
<translation type="obsolete">[FANN IKKJE KORG]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[GYLDIG KUTT FINST IKKJE</translation>
<translation type="obsolete">[GYLDIG KUTT FINST IKKJE</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[LYD FINST IKKJE]</translation>
<translation type="obsolete">[LYD FINST IKKJE]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">S</translation>
<translation type="obsolete">S</translation>
</message>
<message>
<source>Pause</source>
@@ -397,76 +397,12 @@ Tail</source>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<source>Selected:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<source>Selected:</source>
<translation type="unfinished"></translation>
</message>
</context>

View File

@@ -305,19 +305,19 @@ logg</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>--- slutt loggen ---</translation>
<translation type="obsolete">--- slutt loggen ---</translation>
</message>
<message>
<source>PLAY</source>
<translation>SPEL</translation>
<translation type="obsolete">SPEL</translation>
</message>
<message>
<source>STOP</source>
<translation>STOPP</translation>
<translation type="obsolete">STOPP</translation>
</message>
<message>
<source>SEGUE</source>
<translation>OVERGANG</translation>
<translation type="obsolete">OVERGANG</translation>
</message>
<message>
<source>OVERLAP</source>
@@ -325,43 +325,43 @@ logg</translation>
</message>
<message>
<source>MARKER</source>
<translation>MARKØR</translation>
<translation type="obsolete">MARKØR</translation>
</message>
<message>
<source>TRACK</source>
<translation>SPOR</translation>
<translation type="obsolete">SPOR</translation>
</message>
<message>
<source>LINK</source>
<translation>LENKJE</translation>
<translation type="obsolete">LENKJE</translation>
</message>
<message>
<source>[music import]</source>
<translation>[musikkimport]</translation>
<translation type="obsolete">[musikkimport]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[trafikkimport]</translation>
<translation type="obsolete">[trafikkimport]</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>LENK TIL</translation>
<translation type="obsolete">LENK TIL</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[FANN IKKJE KORG]</translation>
<translation type="obsolete">[FANN IKKJE KORG]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[GYLDIG KUTT FINST IKKJE</translation>
<translation type="obsolete">[GYLDIG KUTT FINST IKKJE</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[LYD FINST IKKJE]</translation>
<translation type="obsolete">[LYD FINST IKKJE]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">S</translation>
<translation type="obsolete">S</translation>
</message>
<message>
<source>Pause</source>
@@ -397,76 +397,12 @@ Tail</source>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<source>Selected:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<source>Selected:</source>
<translation type="unfinished"></translation>
</message>
</context>

View File

@@ -330,63 +330,63 @@ Log</source>
</message>
<message>
<source>Selected:</source>
<translation>Selecionado:</translation>
<translation type="unfinished">Selecionado:</translation>
</message>
<message>
<source>--- end of log ---</source>
<translation>Fim da Lista</translation>
<translation type="obsolete">Fim da Lista</translation>
</message>
<message>
<source>PLAY</source>
<translation>TOQUE</translation>
<translation type="obsolete">TOQUE</translation>
</message>
<message>
<source>STOP</source>
<translation>PARE</translation>
<translation type="obsolete">PARE</translation>
</message>
<message>
<source>SEGUE</source>
<translation>SOBRE</translation>
<translation type="obsolete">SOBRE</translation>
</message>
<message>
<source>MARKER</source>
<translation>MARCADOR</translation>
<translation type="obsolete">MARCADOR</translation>
</message>
<message>
<source>TRACK</source>
<translation>PISTA</translation>
<translation type="obsolete">PISTA</translation>
</message>
<message>
<source>LINK</source>
<translation>LINK</translation>
<translation type="obsolete">LINK</translation>
</message>
<message>
<source>[music import]</source>
<translation>[importar música]</translation>
<translation type="obsolete">[importar música]</translation>
</message>
<message>
<source>[traffic import]</source>
<translation>[importar tráfego]</translation>
<translation type="obsolete">[importar tráfego]</translation>
</message>
<message>
<source>CHAIN TO</source>
<translation>CORRENTE PARA</translation>
<translation type="obsolete">CORRENTE PARA</translation>
</message>
<message>
<source>[CART NOT FOUND]</source>
<translation>[CART NÃO ENCONTRADO]</translation>
<translation type="obsolete">[CART NÃO ENCONTRADO]</translation>
</message>
<message>
<source>[NO VALID CUT AVAILABLE]</source>
<translation>[NÃO CONTEÚDO VÁLIDO]</translation>
<translation type="obsolete">[NÃO CONTEÚDO VÁLIDO]</translation>
</message>
<message>
<source>[NO AUDIO AVAILABLE]</source>
<translation>[NÃO ÁUDIO VÁLIDO]</translation>
<translation type="obsolete">[NÃO ÁUDIO VÁLIDO]</translation>
</message>
<message>
<source>T</source>
<translation type="unfinished">T</translation>
<translation type="obsolete">T</translation>
</message>
<message>
<source>Pause</source>
@@ -400,70 +400,6 @@ Log</source>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Len</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Trans</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Agency</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Marker</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Line ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Count</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Est. Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sch. Time</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ListLogs</name>