Commit Graph

4147 Commits

Author SHA1 Message Date
Luke A Pitt
7560db024d Use UPSERT for PostgreSQL, REPLACE INTO for other databases.
Used place holder marks for PostgreSQL UPSERT values instead of positional binding since the statements require the values twice (once for the INSERT, and once for the UPDATE should the insert fail).
The values to use for the ON CONFLICT DO UPDATE part of the UPSERT have been prefixed with u_ .

This commit reverts to using REPLACE INTO for non-PostgreSQL databases and uses the same code for them as the upstream master mumble-voip/mumble.
Previously this branch used the same code for all databases. This commit uses if statements to treat PostgreSQL differently from other databases where it needs to use UPSERT instead of REPLACE INTO.
2016-08-30 22:42:58 +01:00
Luke A Pitt
8f20669b06 Minimum changes to make previously applied postgresql pacth work with current version of mumur.
Change users table to have new column format.
Change slog table to have a default value of "now()" for column msgtime as other databases use triggers to add this value.
Revert database logging statement so that the timestamp is assigned by triggers or column default values.
2016-08-30 22:25:40 +01:00
Luke A Pitt
3d5c74307a Indentation fix - Replace spaces with tabs. 2016-08-30 22:17:07 +01:00
Arne Fenske
b99a4596f1 Murmur now supports PostgreSQL. The PostgreSQL plugin for Qt 4 ('libqt4-sql-psql' package in Debian) is required. To enable this feature, use the 'dbDriver=QPSQL' option in your 'mumble-server.ini'. 2016-08-30 21:56:13 +01:00
Mikkel Krautz
ca678fe0de Fix UT99 plugin license in 3rdPartyLicenses. 2016-08-29 23:20:50 +02:00
Mikkel Krautz
9340a10a6c Update 3rdPartyLicenses for plugins. 2016-08-29 23:19:41 +02:00
Mikkel Krautz
e6cde15c43 Merge PR #2537: Messages: add the prefix “Private” in MainWindow::msgTextMessage(). 2016-08-29 18:35:34 +00:00
Mikkel Krautz
13772c1337 Merge PR #2472: Remove the message size restriction and fix the validation of images 2016-08-28 20:51:15 +00:00
Mikkel Krautz
c05d4de530 Merge PR #2534: Send clipboard content to chat 2016-08-26 21:34:36 +00:00
MumbleTransifexBot
761312f8a0 Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-08-26 01:27:36 +00:00
Anthony Alves
79f67f66f4 Send clipboard content to chat
Users can now set a shortcut to send the content in their clipboard to the channel they are in. Works when mumble is not in the foreground.
2016-08-25 20:43:51 -04:00
Mikkel Krautz
fc9dc2e464 Merge PR #2524: OSInfo: fix implicit size_t conversion. 2016-08-24 21:52:59 +00:00
Mikkel Krautz
d7ac6f747d OSInfo: fix implicit size_t conversion. 2016-08-24 23:52:04 +02:00
Mikkel Krautz
2a8551d0ad os_win: supply new definition of __pfnDliNotifyHook2 instead of assigning to it.
MSVC2015 marks the pre-declared __pfnDliNotifyHook2 as const.

Instead of assigning to it, we use the other documented way to
enable the hook: by supplying a new definition of __pfnDliNotifyHook2
that points to our function.

See https://msdn.microsoft.com/en-us/library/z9h1h6ty.aspx?f=255&MSPPError=-2147217396
2016-08-21 19:00:06 +02:00
Anthony Alves
3cb733407d Reset to 0 dB on localvoladj reset
When pressing the Reset button in Local Volume Adjustment, it now resets to 0 instead of the modified value
2016-08-18 19:43:53 -04:00
MumbleTransifexBot
325b5179ab Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-08-18 01:27:36 +00:00
MumbleTransifexBot
38df469946 Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-08-17 01:27:36 +00:00
Mikkel Krautz
dc7fefd66c Plugins: teach Linux pid-fetcher to be Wine-aware.
If we detect a Windows program running through Wine,
we'll provide the name of the Windows executable in
the pids map.

This commit is part of bootstrapping an effort to
support Windows PA plugins on Linux for games running
in Wine.
2016-08-13 10:04:07 +00:00
MumbleTransifexBot
5d9ed4571f Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-08-11 01:27:44 +00:00
Mikkel Krautz
e83d01c795 Merge PR #2506: Plugins: fill out pids map on Linux. 2016-08-10 21:23:48 +02:00
Mikkel Krautz
d3f79b6f2f Merge PR #2500: Transifex translation update 2016-08-08 20:09:39 +02:00
Mikkel Krautz
664ca408ba Merge PR #2498: GlobalShortcut, Themes: move hard-coded stylesheet from GlobalShortcut.ui into the Themes class's default stylesheet. 2016-08-08 20:09:18 +02:00
MumbleTransifexBot
7ac1e27a47 Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-08-08 01:27:40 +00:00
Mikkel Krautz
613b7fc6f3 GlobalShortcut, Themes: move hard-coded stylesheet from GlobalShortcut.ui into the Themes class's default stylesheet. 2016-08-07 21:03:08 +02:00
Mikkel Krautz
56ffa37929 GlobalShortcut: use MUComboBox. 2016-08-07 19:37:19 +02:00
Mikkel Krautz
29e905aa2f Use MUComboBox in .ui files. 2016-08-07 19:37:18 +02:00
Mikkel Krautz
4b7ebd97d5 MainWindow: use MUComboBox. 2016-08-07 19:37:18 +02:00
Mikkel Krautz
25c0740f5c Add MUComboBox.
This adds a new QComboBox subclass called MUComboBox
to widgets/MUComboBox.{cpp,h}.

This QComboBox subclass explicitly uses a QListView
as the backing view for the QComboBox.

This fixes various styling issues for QComboBox
on macOS.

By default on macOS, QComboBoxes are backed by
something that tries to emulate a native macOS
menu. However, that QAbstractItemView behaves
inconsistently when styled. For example, it does
not seem possible to set the size of individual
items, because they're restricted to the height
of a normal macOS menu item.
Also, in some cases (such as the QComboBox used
for the transmission picker in MainWindow's
QToolbar),  the height of the QAbstractItemView
was also wrong when styled. This caused the combo
box to always scroll, even though it seemingly
was sized correctly.

To get consistent behavior, we use QListView as
the QComboBox's view in MUComboBox.

Also, at least for the default Mumble themes,
I've observed some weird eliding behavior for
the text of added items in the transmission picker
QComboBox in MainWindow's toolbar. Because of that,
for MUComboBox, we don't show ellipses by default.
This fixes the display of the combo box in the
MainWindow's toolbar.
2016-08-07 19:30:15 +02:00
Nascher
3d082c8625 Log: introduce new 2048x2048 message area size restriction.
Currently, Mumble has a restrictive message filter
that will filter away messages that are larger
than the screen. A filtered message is replaced with
the text "Text object too large to display".

This commit replaces the existing size filter.
Instead of using the screen size to determine
whether a message is too large to show, Mumble
now checks whether the area of the received
message exceeds 2048x2048.

For example, this will allow messages with
sizes such as 500x8388 or 1500x2796 -- or
simply 2048x2048. As long as the total area
of the rendered message does not exceed
2048x2048 -- in which case the
"Text object too large to display" will
be displayed.

Fixes mumble-voip/mumble#2467
2016-08-07 19:26:12 +02:00
Mikkel Krautz
0a9c69db1a Merge PR #2470: OSInfo: fix new Windows 10 OSInfo to not include NUL values in the displayable version string. 2016-08-07 01:27:35 +02:00
Mikkel Krautz
ad10136d39 Merge PR #2493: Various mumble_plugin.h and ManualPlugin fixes 2016-08-07 01:26:47 +02:00
Nascher
50c7c77106 Messages: add the prefix “Private” in MainWindow::msgTextMessage().
Users can only detect private messages
if there is no prefix like “Channel” or “Tree”
in the messages.

This commit adds a prefix “Private” to the sender,
if MumbleProto::TextMessage contains a session value.

Fixes mumble-voip/mumble#2362
2016-08-06 22:58:12 +02:00
Mikkel Krautz
2df5f2f77b OSInfo: fix new Windows 10 OSInfo to not include NUL values in the displayable version string.
These strings from the registry are NUL terminated, but in practice, this
isn't guaranteed.

This means that the displayable version string for Windows 10 currently
contains NUL values.

The Mumble client doesn't care, but it isn't very nice. It breaks things
like CVP providers that don't sanitize Murmur's output.

To fix the problem, this change introduces a regString function that
converts a wchar_t string to QString. Any NUL value in the input
string will terminate the string.

Fixes mumble-voip/mumble#2469
2016-08-06 17:34:41 +02:00
Mikkel Krautz
9fbe678b21 ManualPlugin: remove unnecessary mumble_plugin.h preamble. 2016-08-06 17:18:10 +02:00
Mikkel Krautz
e7ff17b315 Merge PR #2492: GlobalShortcut_win: log product guid when adding a new DirectInput device. 2016-08-06 16:41:30 +02:00
Mikkel Krautz
896f6f521f Merge PR #2491: GlobalShortcut_win: log product GUID when excluding an XInput device from DirectInput processing. 2016-08-06 16:41:10 +02:00
Mikkel Krautz
d3aa65d986 GlobalShortcut_win: log product guid when adding a new DirectInput device.
Previously, we only logged the instance GUID, not the product GUID.

With this change, the log line when adding a new device contains both.
2016-08-06 14:54:07 +02:00
Mikkel Krautz
682d33b827 GlobalShortcut_win: log product GUID when excluding an XInput device from DirectInput processing.
3rdparty/xinputcheck-src uses the product GUID in its list of well-known
devices.

For debugging purposes, it makes sense for us to log this here.
2016-08-06 14:37:37 +02:00
Mikkel Krautz
3ad420fc1e GlobalShortcut_win: fix XboxInput button mask in buttonName().
The controller ID is shifted 24 bits, so the correct mask is
0x00ffffff.

Also, 0x00ffffffff (40 bits) should have been a red flag, since
we're working with uint32_t types here.

This fixes button names for Xbox controllers that are at indexes > 0.
2016-08-06 14:31:36 +02:00
Mikkel Krautz
fe52ad076d Plugins: fill out pids map on Linux. 2016-08-04 23:34:00 +02:00
Mikkel Krautz
b126c4e206 Merge PR #2478: Log: check for QSizeF::isValid() in Log::validHtml() 2016-07-31 20:43:32 +02:00
Nascher
fb19de19a3 Log: check for QSizeF::isValid() in Log::validHtml().
It is possible for QTextDocument::size() to return
invalid sizes. For example, very big img tags with
sizes such as 33554451x33554451 cause QTextDocument
to return a QSizeF with a negative width or height.

This commits adds a call to QSizeF::isValid() to ensure
we treat QSizeFs with negative sizes as invalid.

Fixes mumble-voip/mumble#2477
2016-07-31 18:40:25 +02:00
Mikkel Krautz
3923ce829a Merge PR #2460: Transifex translation update 2016-07-31 12:11:39 +02:00
synapse84
b205f6de72 Removed RightToLeft property. 2016-07-29 20:02:11 -06:00
MumbleTransifexBot
6ed1904ef5 Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-07-21 01:27:38 +00:00
Mikkel Krautz
88e664710d OSInfo: add Windows 10 displayable version string.
Fixes mumble-voip/mumble#1916
2016-07-20 23:37:08 +02:00
Mikkel Krautz
cf9877c56d Merge PR #2440: GlobalShortcut_win: add additional diagnostic logging to the DirectInput backend 2016-07-20 23:20:29 +02:00
Mikkel Krautz
4a99cde52c Merge PR #2446: AudioWizard: always use ClassicStyle. 2016-07-20 23:18:41 +02:00
Mikkel Krautz
acfa0444b9 Merge PR #2450: About: HTML-escape third party license text. 2016-07-20 23:16:54 +02:00
MumbleTransifexBot
1956b34038 Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 41 languages
2016-07-19 01:27:38 +00:00