Merge branch 'KDE/4.11'

Conflicts:
	CMakeLists.txt
	kcontrol/screensaver/screensaver.desktop
	kdm/kfrontend/themes/elarun/KdmGreeterTheme.desktop
	khotkeys/kcm_hotkeys/kcm_hotkeys.cpp
	kinfocenter/main.cpp
	kscreensaver/kblank_screensaver/blankscrn.cpp
	kscreensaver/krandom_screensaver/random.cpp
	kstyles/oxygen/config/main.cpp
	kstyles/oxygen/demo/main.cpp
	ksysguard/gui/ksysguard.cpp
	kwin/clients/oxygen/demo/main.cpp
	kwin/kcmkwin/kwincompositing/kwincompositing.desktop
	kwin/tabbox/qml/clients/text/metadata.desktop
	kwin/tabbox/qml/clients/window_strip/metadata.desktop
	libs/plasmagenericshell/widgetsexplorer/package/metadata.desktop
	plasma/desktop/applets/pager/package/metadata.desktop
	plasma/desktop/shell/activitymanager/package/metadata.desktop
	plasma/desktop/shell/data/layouts/org.kde.plasma-desktop.defaultPanel/contents/layout.js
	plasma/desktop/shell/desktopcorona.cpp
	plasma/desktop/shell/main.cpp
	plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
	plasma/desktop/toolboxes/plasma-toolbox-paneltoolbox.desktop
	plasma/generic/applets/batterymonitor/contents/ui/batterymonitor.qml
	plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.cpp
	plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.h
	plasma/generic/applets/systemtray/protocols/fdo/x11embeddelegate.cpp
	plasma/generic/runners/nepomuksearch/plasma-runner-nepomuksearch.desktop
	plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
	plasma/netbook/shell/nettoolbox/plasma-toolbox-nettoolbox.desktop
	statusnotifierwatcher/statusnotifierwatcher.cpp
	systemsettings/app/main.cpp
icc-effect-5.14.5
Martin Gräßlin 2014-03-10 21:21:16 +01:00
commit 2675b5d4e7
13 changed files with 36 additions and 13 deletions

View File

@ -1792,6 +1792,7 @@ void CubeEffect::setActive(bool active)
verticalRotating = false;
manualAngle = 0.0;
manualVerticalAngle = 0.0;
desktopChangedWhileRotating = false;
if (reflection) {
QRect rect = effects->clientArea(FullArea, activeScreen, effects->currentDesktop());
#ifndef KWIN_HAVE_OPENGLES

View File

@ -258,7 +258,7 @@ void HighlightWindowEffect::finishHighlighting()
bool HighlightWindowEffect::isActive() const
{
return !m_windowOpacity.isEmpty();
return !(m_windowOpacity.isEmpty() || effects->isScreenLocked());
}
} // namespace

View File

@ -336,7 +336,14 @@ void PresentWindowsEffect::paintWindow(EffectWindow *w, int mask, QRegion region
QRect area = effects->clientArea(FullScreenArea, w);
QSizeF effSize(w->width()*data.xScale(), w->height()*data.yScale());
float tScale = sqrt((area.width()*area.height()) / (16.0*effSize.width()*effSize.height()));
const float xr = area.width()/effSize.width();
const float yr = area.height()/effSize.height();
float tScale = 0.0;
if (xr < yr) {
tScale = qMax(xr/4.0, yr/32.0);
} else {
tScale = qMax(xr/32.0, yr/4.0);
}
if (tScale < 1.05) {
tScale = 1.05;
}

View File

@ -53,7 +53,7 @@ Name[ne]=एफपीएस देखाउनुहोस्
Name[nl]=FPS tonen
Name[nn]=Vis talet på bilete per sekund
Name[pa]=FPS ਵੇਖੋ
Name[pl]=Pokaż ilość klatek na sekundę
Name[pl]=Pokaż liczbę klatek na sekundę
Name[pt]=Mostrar as IPS
Name[pt_BR]=Mostrar FPS
Name[ro]=Afișează CPS

View File

@ -60,7 +60,7 @@ Name[ne]=एफपीएस देखाउनुहोस्
Name[nl]=FPS tonen
Name[nn]=Vis talet på bilete per sekund
Name[pa]=FPS ਵੇਖੋ
Name[pl]=Pokaż ilość klatek na sekundę
Name[pl]=Pokaż liczbę klatek na sekundę
Name[pt]=Mostrar as IPS
Name[pt_BR]=Mostrar FPS
Name[ro]=Afișează CPS

View File

@ -196,6 +196,7 @@ void ZoomEffect::recreateTexture()
// turn the XcursorImage into a QImage that will be used to create the GLTexture/XRenderPicture.
imageWidth = ximg->width;
imageHeight = ximg->height;
cursorHotSpot = QPoint(ximg->xhot, ximg->yhot);
QImage img((uchar*)ximg->pixels, imageWidth, imageHeight, QImage::Format_ARGB32_Premultiplied);
if (effects->isOpenGLCompositing())
texture.reset(new GLTexture(img));
@ -354,7 +355,7 @@ void ZoomEffect::paintScreen(int mask, QRegion region, ScreenPaintData& data)
w *= zoom;
h *= zoom;
}
const QPoint p = effects->cursorPos();
const QPoint p = effects->cursorPos() - cursorHotSpot;
QRect rect(p.x() * zoom + data.xTranslation(), p.y() * zoom + data.yTranslation(), w, h);
if (texture) {
@ -420,7 +421,7 @@ void ZoomEffect::zoomOut()
{
source_zoom = zoom;
target_zoom /= zoomFactor;
if (target_zoom < 1) {
if ((zoomFactor > 1 && target_zoom < 1.01) || (zoomFactor < 1 && target_zoom > 0.99)) {
target_zoom = 1;
if (polling) {
polling = false;

View File

@ -112,6 +112,7 @@ private:
MousePointerType mousePointer;
int focusDelay;
QPoint cursorPoint;
QPoint cursorHotSpot;
QPoint focusPoint;
QPoint prevPoint;
QTime lastMouseEvent;

View File

@ -2992,7 +2992,7 @@ void Client::handleMoveResize(int x, int y, int x_root, int y_root)
foreach (const QRect &r, strut.rects()) {
if (r.top() == 0 && r.width() > r.height() && // "top panel"
r.intersects(moveResizeGeom) && moveResizeGeom.top() < r.bottom()) {
newTitleTop = r.bottom();
newTitleTop = r.bottom() + 1;
break;
}
}
@ -3271,11 +3271,20 @@ void Client::sendToScreen(int newScreen)
// so we clear the state first
MaximizeMode maxMode = maximizeMode();
QuickTileMode qtMode = (QuickTileMode)quick_tile_mode;
maximize(MaximizeRestore);
setQuickTileMode(QuickTileNone);
if (maxMode != MaximizeRestore)
maximize(MaximizeRestore);
if (qtMode != QuickTileNone)
setQuickTileMode(QuickTileNone, true);
QRect oldScreenArea = workspace()->clientArea(MaximizeArea, this);
QRect screenArea = workspace()->clientArea(MaximizeArea, newScreen, desktop());
// the window can have its center so that the position correction moves the new center onto
// the old screen, what will tile it where it is. Ie. the screen is not changed
// this happens esp. with electric border quicktiling
if (qtMode != QuickTileNone)
keepInArea(oldScreenArea);
QRect oldGeom = geometry();
QRect newGeom = oldGeom;
// move the window to have the same relative position to the center of the screen
@ -3305,8 +3314,8 @@ void Client::sendToScreen(int newScreen)
// eg. setting QuickTileNone would break maximization
if (maxMode != MaximizeRestore)
maximize(maxMode);
if (qtMode != QuickTileNone)
setQuickTileMode(qtMode);
if (qtMode != QuickTileNone && qtMode != quick_tile_mode)
setQuickTileMode(qtMode, true);
ClientList tso = workspace()->ensureStackingOrder(transients());
for (ClientList::ConstIterator it = tso.constBegin(), end = tso.constEnd(); it != end; ++it)

View File

@ -270,6 +270,7 @@ bool GlxBackend::initFbConfig()
{
const int attribs[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,

View File

@ -180,6 +180,7 @@ X-KDE-Keywords[ia]=kwin,fenestra,gerente,margine,stilo,thema,aspecto,sentir,disp
X-KDE-Keywords[it]=kwin,gestore,finestre,bordo,stile,tema,aspetto,disposizione,pulsante,gestore,kwm,decorazione
X-KDE-Keywords[kk]=kwin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration
X-KDE-Keywords[km]=kwin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration
X-KDE-Keywords[ko]=kwin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,창,관리자,테두리,스타일,테마,단추,핸들,경계
X-KDE-Keywords[nb]=kwin,vindu,behandler,ramme,stil,tema,lås,utforming,knapp,håndtak,kant,kwm
X-KDE-Keywords[nds]=KWin,Finster,Pleger,Rahmen,Stil,Muster,Utsehn,Bedenen,Knoop,Greep,Kant,kwm,Dekoratschoon
X-KDE-Keywords[nl]=kwin,venster,beheerder,grens,stijl,thema,look,feel,indeling,knop,handel,rand,kwm,decoratie

View File

@ -181,6 +181,7 @@ X-KDE-Keywords[ia]=scriptorio,scriptorios,numero,scriptorio virtual,scriptorio m
X-KDE-Keywords[it]=desktop,numero,desktop virtuali,desktop multipli,cambiadesktop,oggetto cambiadesktop,applet cambiadesktop,impostazioni del cambiadesktop
X-KDE-Keywords[kk]=desktop,desktops,number,virtual desktop,multiple desktops,pager,pager widget,pager applet,pager settings
X-KDE-Keywords[km]=desktop,desktops,number,virtual desktop,multiple desktops,pager,pager widget,pager applet,pager settings
X-KDE-Keywords[ko]=desktop,desktops,number,virtual desktop,multiple desktops,pager,pager widget,pager applet,pager settings,데스크톱,가상 데스크톱,다중 데스크톱
X-KDE-Keywords[nb]=skrivebord,antall,virtuelt skrivebord,flere skrivebord,veksler,vekslerelement,veksler-miniprogram,vekslerinnstillinger
X-KDE-Keywords[nds]=Schriefdisch,Schriefdischen,virtuell,mehr,Schriefdisch-Översicht,instellen
X-KDE-Keywords[nl]=bureaublad,bureaubladen,aantal,virtueel bureaublad,meervoudige bureaubladen,pager,pager-widget,pager-applet,pagerinstellingen

View File

@ -451,7 +451,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
init_minimize = false; // SELI TODO: Even e.g. for NET::Utility?
}
// If a dialog is shown for minimized window, minimize it too
if (!init_minimize && isTransient() && mainClients().count() > 0) {
if (!init_minimize && isTransient() && mainClients().count() > 0 && !workspace()->sessionSaving()) {
bool visible_parent = false;
// Use allMainClients(), to include also main clients of group transients
// that have been optimized out in Client::checkGroupTransients()
@ -566,6 +566,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
for (ClientList::ConstIterator it = mainclients.constBegin();
it != mainclients.constEnd(); ++it) {
(*it)->setSessionInteract(true);
(*it)->unminimize();
}
} else if (allow) {
// also force if activation is allowed

View File

@ -386,7 +386,7 @@ qint64 SceneOpenGL::paint(QRegion damage, ToplevelList toplevels)
glReadBuffer(GL_FRONT);
copyPixels(displayRegion - validRegion);
glReadBuffer(GL_BACK);
damage = displayRegion;
validRegion = displayRegion;
}
#endif