WIP, compile problems
This commit is contained in:
+5
-5
@@ -9,7 +9,6 @@ lms_SOURCES = \
|
|||||||
$(top_srcdir)/main/main.cpp \
|
$(top_srcdir)/main/main.cpp \
|
||||||
$(top_srcdir)/main/ServiceManager.cpp \
|
$(top_srcdir)/main/ServiceManager.cpp \
|
||||||
$(top_srcdir)/main/DatabaseRefreshService.cpp \
|
$(top_srcdir)/main/DatabaseRefreshService.cpp \
|
||||||
$(top_srcdir)/main/RemoteServerService.cpp \
|
|
||||||
$(top_srcdir)/main/WebServerService.cpp \
|
$(top_srcdir)/main/WebServerService.cpp \
|
||||||
$(top_srcdir)/av/CodecContext.cpp \
|
$(top_srcdir)/av/CodecContext.cpp \
|
||||||
$(top_srcdir)/av/Common.cpp \
|
$(top_srcdir)/av/Common.cpp \
|
||||||
@@ -39,16 +38,17 @@ lms_SOURCES = \
|
|||||||
$(top_srcdir)/database/SqlQuery.cpp \
|
$(top_srcdir)/database/SqlQuery.cpp \
|
||||||
$(top_srcdir)/database/Path.cpp \
|
$(top_srcdir)/database/Path.cpp \
|
||||||
$(top_srcdir)/database/Video.cpp \
|
$(top_srcdir)/database/Video.cpp \
|
||||||
$(top_srcdir)/remote/server/Connection.cpp \
|
|
||||||
$(top_srcdir)/remote/server/ConnectionManager.cpp \
|
|
||||||
$(top_srcdir)/remote/server/Server.cpp \
|
|
||||||
$(top_srcdir)/transcode/AvConvTranscoder.cpp \
|
$(top_srcdir)/transcode/AvConvTranscoder.cpp \
|
||||||
$(top_srcdir)/transcode/Format.cpp \
|
$(top_srcdir)/transcode/Format.cpp \
|
||||||
$(top_srcdir)/transcode/Parameters.cpp \
|
$(top_srcdir)/transcode/Parameters.cpp \
|
||||||
$(top_srcdir)/transcode/InputMediaFile.cpp \
|
$(top_srcdir)/transcode/InputMediaFile.cpp \
|
||||||
$(top_srcdir)/metadata/AvFormat.cpp \
|
$(top_srcdir)/metadata/AvFormat.cpp \
|
||||||
$(top_srcdir)/metadata/Extractor.cpp \
|
|
||||||
$(top_srcdir)/metadata/Utils.cpp
|
$(top_srcdir)/metadata/Utils.cpp
|
||||||
|
|
||||||
|
#$(top_srcdir)/main/RemoteServerService.cpp
|
||||||
|
#$(top_srcdir)/remote/server/Connection.cpp
|
||||||
|
#$(top_srcdir)/remote/server/ConnectionManager.cpp
|
||||||
|
#$(top_srcdir)/remote/server/Server.cpp
|
||||||
|
|
||||||
lms_CXXFLAGS=-std=c++11 -Wall -I$(top_srcdir)/boost/ -I$(top_srcdir)/ui -I$(top_srcdir)/remote
|
lms_CXXFLAGS=-std=c++11 -Wall -I$(top_srcdir)/boost/ -I$(top_srcdir)/ui -I$(top_srcdir)/remote
|
||||||
|
|
||||||
|
|||||||
+32
-40
@@ -8,18 +8,14 @@ AC_LANG_CPLUSPLUS
|
|||||||
# Checks for programs
|
# Checks for programs
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
|
|
||||||
AC_CHECK_HEADERS([Wt/WApplication extractor.h],
|
AC_CHECK_HEADERS([Wt/WApplication],
|
||||||
[],
|
[],
|
||||||
[AC_MSG_ERROR([Header not found or unusable !])])
|
[AC_MSG_ERROR([Header not found or unusable !])])
|
||||||
|
|
||||||
#AC_CHECK_HEADERS([extractor.h],
|
#AC_CHECK_LIB([pthread],
|
||||||
# [],
|
# [pthread_create],
|
||||||
# [AC_MSG_ERROR([Header not found or unusable !])])
|
# ,
|
||||||
|
# [AC_MSG_ERROR([libpthread not found!])])
|
||||||
AC_CHECK_LIB([pthread],
|
|
||||||
[pthread_create],
|
|
||||||
,
|
|
||||||
[AC_MSG_ERROR([libpthread not found!])])
|
|
||||||
|
|
||||||
AC_CHECK_LIB([avutil],
|
AC_CHECK_LIB([avutil],
|
||||||
[av_free],
|
[av_free],
|
||||||
@@ -36,11 +32,6 @@ AC_CHECK_LIB([avformat],
|
|||||||
,
|
,
|
||||||
[AC_MSG_ERROR([libavformat not found!])])
|
[AC_MSG_ERROR([libavformat not found!])])
|
||||||
|
|
||||||
AC_CHECK_LIB([extractor],
|
|
||||||
[EXTRACTOR_extract],
|
|
||||||
,
|
|
||||||
[AC_MSG_ERROR([libextractor not found!])])
|
|
||||||
|
|
||||||
AC_CHECK_LIB([boost_system],
|
AC_CHECK_LIB([boost_system],
|
||||||
[main],
|
[main],
|
||||||
,
|
,
|
||||||
@@ -51,46 +42,47 @@ AC_CHECK_LIB( [boost_filesystem],
|
|||||||
,
|
,
|
||||||
[AC_MSG_ERROR([libboost_filesystem not found!])])
|
[AC_MSG_ERROR([libboost_filesystem not found!])])
|
||||||
|
|
||||||
AC_CHECK_LIB( [boost_thread],
|
#AC_CHECK_LIB( [boost_thread],
|
||||||
[main],
|
# [main],
|
||||||
,
|
# ,
|
||||||
[AC_MSG_ERROR([libboost_thread not found!])])
|
# [AC_MSG_ERROR([libboost_thread not found!])])
|
||||||
|
|
||||||
AC_CHECK_LIB( [boost_date_time],
|
#AC_CHECK_LIB( [boost_date_time],
|
||||||
[main],
|
# [main],
|
||||||
,
|
# ,
|
||||||
[AC_MSG_ERROR([libboost_date_time not found!])])
|
# [AC_MSG_ERROR([libboost_date_time not found!])])
|
||||||
|
|
||||||
AC_CHECK_LIB( [boost_signals],
|
#AC_CHECK_LIB( [boost_signals],
|
||||||
[main],
|
# [main],
|
||||||
,
|
# ,
|
||||||
[AC_MSG_ERROR([libboost_signals not found!])])
|
# [AC_MSG_ERROR([libboost_signals not found!])])
|
||||||
|
|
||||||
AC_CHECK_LIB( [boost_iostreams],
|
AC_CHECK_LIB( [boost_iostreams],
|
||||||
[main],
|
[main],
|
||||||
,
|
,
|
||||||
[AC_MSG_ERROR([libboost_iostreams not found!])])
|
[AC_MSG_ERROR([libboost_iostreams not found!])])
|
||||||
|
|
||||||
AC_CHECK_LIB([wt],
|
# TODO -> PARAMETRIZE THIS
|
||||||
[main],
|
AC_CHECK_LIB([wthttp],
|
||||||
,
|
[main],
|
||||||
[AC_MSG_ERROR([libwt not found!])])
|
,
|
||||||
|
[AC_MSG_ERROR([libwthttp not found!])])
|
||||||
AC_CHECK_LIB([wtdbo],
|
|
||||||
[main],
|
|
||||||
,
|
|
||||||
[AC_MSG_ERROR([libwtdbo not found!])])
|
|
||||||
|
|
||||||
AC_CHECK_LIB([wtdbosqlite3],
|
AC_CHECK_LIB([wtdbosqlite3],
|
||||||
[main],
|
[main],
|
||||||
,
|
,
|
||||||
[AC_MSG_ERROR([libwtdbosqlite3 not found!])])
|
[AC_MSG_ERROR([libwtdbosqlite3 not found!])])
|
||||||
|
|
||||||
# TODO -> PARAMETRIZE THIS
|
AC_CHECK_LIB([wtdbo],
|
||||||
AC_CHECK_LIB([wthttp],
|
[main],
|
||||||
[main],
|
,
|
||||||
,
|
[AC_MSG_ERROR([libwtdbo not found!])])
|
||||||
[AC_MSG_ERROR([libwthttp not found!])])
|
|
||||||
|
AC_CHECK_LIB([wt],
|
||||||
|
[main],
|
||||||
|
,
|
||||||
|
[AC_MSG_ERROR([libwt not found!])])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile
|
AC_CONFIG_FILES([Makefile
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
#include "ServiceManager.hpp"
|
#include "ServiceManager.hpp"
|
||||||
|
|
||||||
ServiceManager::ServiceManager()
|
ServiceManager::ServiceManager()
|
||||||
: _signalSet(_ioService)
|
/*: _signalSet(_ioService) */
|
||||||
{
|
{
|
||||||
_signalSet.add(SIGINT);
|
/* _signalSet.add(SIGINT);
|
||||||
_signalSet.add(SIGTERM);
|
_signalSet.add(SIGTERM);
|
||||||
#if defined(SIGQUIT)
|
#if defined(SIGQUIT)
|
||||||
_signalSet.add(SIGQUIT);
|
_signalSet.add(SIGQUIT);
|
||||||
#endif // defined(SIGQUIT)
|
#endif // defined(SIGQUIT)
|
||||||
|
|
||||||
_signalSet.add(SIGHUP);
|
_signalSet.add(SIGHUP);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -32,10 +32,10 @@ ServiceManager::run()
|
|||||||
void
|
void
|
||||||
ServiceManager::asyncWaitSignals(void)
|
ServiceManager::asyncWaitSignals(void)
|
||||||
{
|
{
|
||||||
_signalSet.async_wait(boost::bind(&ServiceManager::handleSignal,
|
/* _signalSet.async_wait(boost::bind(&ServiceManager::handleSignal,
|
||||||
this,
|
this,
|
||||||
boost::asio::placeholders::error,
|
boost::asio::placeholders::error,
|
||||||
boost::asio::placeholders::signal_number));
|
boost::asio::placeholders::signal_number));*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class ServiceManager
|
|||||||
boost::asio::io_service _ioService;
|
boost::asio::io_service _ioService;
|
||||||
|
|
||||||
// Listen for interesting signals
|
// Listen for interesting signals
|
||||||
boost::asio::signal_set _signalSet;
|
// boost::asio::signal_set _signalSet;
|
||||||
|
|
||||||
std::set<Service::pointer> _services;
|
std::set<Service::pointer> _services;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include "ui/LmsApplication.hpp"
|
#include "ui/LmsApplication.hpp"
|
||||||
|
|
||||||
|
|
||||||
Wt::WApplication *createApplication(const Wt::WEnvironment& env)
|
static Wt::WApplication *createApplication(const Wt::WEnvironment& env)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* You could read information from the environment to decide whether
|
* You could read information from the environment to decide whether
|
||||||
@@ -19,7 +19,7 @@ WebServerService::WebServerService( int argc, char* argv[])
|
|||||||
: _server(argv[0], "")
|
: _server(argv[0], "")
|
||||||
{
|
{
|
||||||
|
|
||||||
std::cout << "Constructing server... argc = " << argc << std::endl;
|
std::cout << "Constructing server... argv[0] = '" << argv[0] << "' argc = " << argc << std::endl;
|
||||||
|
|
||||||
// TODO configure server
|
// TODO configure server
|
||||||
_server.setServerConfiguration (argc, argv, WTHTTP_CONFIGURATION);
|
_server.setServerConfiguration (argc, argv, WTHTTP_CONFIGURATION);
|
||||||
|
|||||||
+29
-4
@@ -9,7 +9,17 @@
|
|||||||
#include "WebServerService.hpp"
|
#include "WebServerService.hpp"
|
||||||
#include "RemoteServerService.hpp"
|
#include "RemoteServerService.hpp"
|
||||||
|
|
||||||
void toto(int argc, char* argv[]);
|
#include "ui/LmsApplication.hpp"
|
||||||
|
|
||||||
|
static Wt::WApplication *createApplication(const Wt::WEnvironment& env)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* You could read information from the environment to decide whether
|
||||||
|
* the user has permission to start a new application
|
||||||
|
*/
|
||||||
|
std::cout << "Creating new Application" << std::endl;
|
||||||
|
return new LmsApplication(env);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
@@ -18,17 +28,32 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ServiceManager serviceManager;
|
// ServiceManager serviceManager;
|
||||||
|
|
||||||
// lib init
|
// lib init
|
||||||
Av::AvInit();
|
Av::AvInit();
|
||||||
Transcode::AvConvTranscoder::init();
|
Transcode::AvConvTranscoder::init();
|
||||||
|
|
||||||
|
return Wt::WRun(argc, argv, createApplication);
|
||||||
|
/* Wt::WServer server(argv[0], "");
|
||||||
|
|
||||||
|
server.setServerConfiguration(argc, argv, WTHTTP_CONFIGURATION);
|
||||||
|
server.addEntryPoint(Wt::Application, createApplication);
|
||||||
|
if (server.start()) {
|
||||||
|
int sig = Wt::WServer::waitForShutdown(argv[0]);
|
||||||
|
std::cerr << "Shutdown (signal = " << sig << ")" << std::endl;
|
||||||
|
server.stop();
|
||||||
|
if (sig == SIGHUP)
|
||||||
|
Wt::WServer::restart(argc, argv, environ);
|
||||||
|
}*/
|
||||||
|
// return 0;
|
||||||
|
|
||||||
|
|
||||||
// serviceManager.startService( std::make_shared<DatabaseRefreshService>( "test.db" ) );
|
// serviceManager.startService( std::make_shared<DatabaseRefreshService>( "test.db" ) );
|
||||||
serviceManager.startService( std::make_shared<WebServerService>(argc, argv) );
|
// serviceManager.startService( std::make_shared<WebServerService>(argc, argv) );
|
||||||
// serviceManager.startService( std::make_shared<RemoteServerService>( Remote::Server::Server::endpoint_type() ) );
|
// serviceManager.startService( std::make_shared<RemoteServerService>( Remote::Server::Server::endpoint_type() ) );
|
||||||
|
|
||||||
serviceManager.run();
|
// serviceManager.run();
|
||||||
|
|
||||||
res = EXIT_SUCCESS;
|
res = EXIT_SUCCESS;
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,7 @@
|
|||||||
@media (max-width: 979px) {
|
@media (max-width: 979px) {
|
||||||
.nav-collapse .dropdown-menu {
|
.nav-collapse .dropdown-menu {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
|
position: static !important;
|
||||||
}
|
}
|
||||||
.nav-collapse .dropdown-menu li > a:hover {
|
.nav-collapse .dropdown-menu li > a:hover {
|
||||||
color: #555555;
|
color: #555555;
|
||||||
@@ -249,6 +250,7 @@
|
|||||||
.Wt-cal .days td .Wt-cal-sel,
|
.Wt-cal .days td .Wt-cal-sel,
|
||||||
.Wt-cal .days td .Wt-cal-sel:hover {
|
.Wt-cal .days td .Wt-cal-sel:hover {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||||
background-color: #006dcc;
|
background-color: #006dcc;
|
||||||
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
|
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
||||||
@@ -544,7 +546,6 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid #dddddd;
|
border: 1px solid #dddddd;
|
||||||
overflow: auto;
|
|
||||||
/* header */
|
/* header */
|
||||||
|
|
||||||
/* resize handles */
|
/* resize handles */
|
||||||
@@ -554,6 +555,9 @@
|
|||||||
/* item drag & drop */
|
/* item drag & drop */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.Wt-itemview.Wt-itemview-paged {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
.Wt-itemview .Wt-spacer {
|
.Wt-itemview .Wt-spacer {
|
||||||
background: url(../../../loading.png);
|
background: url(../../../loading.png);
|
||||||
}
|
}
|
||||||
@@ -688,6 +692,10 @@ body.Wt-rtl .Wt-itemview .Wt-tv-no-rh {
|
|||||||
.Wt-tableview .Wt-plaintable td,
|
.Wt-tableview .Wt-plaintable td,
|
||||||
.Wt-tableview .Wt-plaintable th {
|
.Wt-tableview .Wt-plaintable th {
|
||||||
border-right: 1px solid #dddddd;
|
border-right: 1px solid #dddddd;
|
||||||
|
border-top: 1px solid #dddddd;
|
||||||
|
margin-top: -1px;
|
||||||
|
}
|
||||||
|
.Wt-tableview .Wt-spacer {
|
||||||
border-bottom: 1px solid #dddddd;
|
border-bottom: 1px solid #dddddd;
|
||||||
}
|
}
|
||||||
.Wt-tableview .Wt-header {
|
.Wt-tableview .Wt-header {
|
||||||
|
|||||||
@@ -74,6 +74,7 @@
|
|||||||
@media (max-width: 979px) {
|
@media (max-width: 979px) {
|
||||||
.nav-collapse .dropdown-menu {
|
.nav-collapse .dropdown-menu {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
|
position: static !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-collapse .dropdown-menu li > a:hover {
|
.nav-collapse .dropdown-menu li > a:hover {
|
||||||
@@ -501,7 +502,10 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid @tableBorder;
|
border: 1px solid @tableBorder;
|
||||||
overflow: auto;
|
|
||||||
|
&.Wt-itemview-paged {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.Wt-spacer {
|
.Wt-spacer {
|
||||||
background: url(../../../loading.png);
|
background: url(../../../loading.png);
|
||||||
@@ -668,6 +672,11 @@ body.Wt-rtl {
|
|||||||
|
|
||||||
.Wt-tv-contents .Wt-tv-c, .Wt-plaintable td, .Wt-plaintable th {
|
.Wt-tv-contents .Wt-tv-c, .Wt-plaintable td, .Wt-plaintable th {
|
||||||
border-right: 1px solid @tableBorder;
|
border-right: 1px solid @tableBorder;
|
||||||
|
border-top: 1px solid @tableBorder;
|
||||||
|
margin-top: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.Wt-spacer {
|
||||||
border-bottom: 1px solid @tableBorder;
|
border-bottom: 1px solid @tableBorder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,25 +73,15 @@
|
|||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
@media (min-width: 768px) {
|
||||||
* Custom collapse nav support
|
.navbar .navbar-collapse {
|
||||||
*/
|
|
||||||
|
|
||||||
.navbar .navbar-collapse {
|
|
||||||
display: block !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 979px) {
|
|
||||||
.navbar-collapse .dropdown-menu {
|
|
||||||
display: block !important;
|
display: block !important;
|
||||||
}
|
}
|
||||||
.navbar-collapse .dropdown-menu li > a:hover {
|
}
|
||||||
color: #333333;
|
|
||||||
background: #f2f2f2;
|
@media (max-width: 768px) {
|
||||||
}
|
.navbar-nav .open .dropdown-menu {
|
||||||
.navbar-collapse .dropdown-menu .active > a {
|
position: static !important;
|
||||||
color: inherit;
|
|
||||||
background: inherit;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -607,13 +597,16 @@ fieldset[disabled] .Wt-slider-v .handle.active {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
.Wt-itemview {
|
.Wt-itemview {
|
||||||
overflow: auto;
|
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid #dddddd;
|
border: 1px solid #dddddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.Wt-itemview.Wt-itemview-paged {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.Wt-itemview .Wt-spacer {
|
.Wt-itemview .Wt-spacer {
|
||||||
background: url(../../../loading.png);
|
background: url(../../../loading.png);
|
||||||
}
|
}
|
||||||
@@ -971,6 +964,12 @@ body.Wt-rtl .Wt-sbspacer {
|
|||||||
border-right: 1px solid #dddddd;
|
border-right: 1px solid #dddddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.Wt-treeview button.Wt-tv-c {
|
||||||
|
border-right-color: transparent;
|
||||||
|
/* doesn't work */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.Wt-treeview .Wt-tv-c {
|
.Wt-treeview .Wt-tv-c {
|
||||||
padding: 0 3px;
|
padding: 0 3px;
|
||||||
-webkit-box-sizing: content-box;
|
-webkit-box-sizing: content-box;
|
||||||
@@ -978,12 +977,6 @@ body.Wt-rtl .Wt-sbspacer {
|
|||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Wt-treeview button.Wt-tv-c {
|
|
||||||
border-right-color: transparent;
|
|
||||||
/* doesn't work */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.Wt-treeview .Wt-tv-row {
|
.Wt-treeview .Wt-tv-row {
|
||||||
float: right;
|
float: right;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|||||||
@@ -65,27 +65,16 @@
|
|||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
@media (min-width: 768px) {
|
||||||
* Custom collapse nav support
|
.navbar .navbar-collapse {
|
||||||
*/
|
display: block !important;
|
||||||
.navbar .navbar-collapse {
|
}
|
||||||
display: block !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 979px) {
|
@media (max-width: 768px) {
|
||||||
.navbar-collapse .dropdown-menu {
|
.navbar-nav .open .dropdown-menu {
|
||||||
display: block !important;
|
position: static !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-collapse .dropdown-menu li > a:hover {
|
|
||||||
color: @navbar-default-link-hover-color;
|
|
||||||
background: #f2f2f2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-collapse .dropdown-menu .active >a {
|
|
||||||
color: inherit;
|
|
||||||
background: inherit;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar .navbar-inner .container {
|
.navbar .navbar-inner .container {
|
||||||
@@ -519,7 +508,10 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid @table-border-color;
|
border: 1px solid @table-border-color;
|
||||||
overflow: auto;
|
|
||||||
|
&.Wt-itemview-paged {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.Wt-spacer {
|
.Wt-spacer {
|
||||||
background: url(../../../loading.png);
|
background: url(../../../loading.png);
|
||||||
|
|||||||
Reference in New Issue
Block a user